▼環境
ホスト(Win)、ゲスト(CentOS)
ホストでjson-serverを立ち上げています。
https://github.com/typicode/json-server
ゲストでWebサーバーを立ち上げホストからサイトの表示ができます。
ゲストから以下のコマンドでホストのjson-serverのjsonデータを取得できます。
curl -H "Origin: http://example.com" --verbose http://10.0.2.2:3000/users
ですが、Ajaxでのアクセスができません。
Ajaxのパラメーターは何通りか試しているので、おそらくここの間違いではないと思われます。
$(function(){ $.ajax({ url:'http://10.0.2.2:80/users', type:'GET', dataType: 'json', contentType:"application/json; charset=utf-8", }) .done( (data) => {console.log("成功");}) .fail( (data) => {console.log("失敗");}); }); </script>
検証画面で確認したRequest Headerの表示は以下の通りです。
Provisional headers are shown
json-serverの設定は以下の通りです。
const jsonServer = require('json-server') const server = jsonServer.create() const router = jsonServer.router('db.json') const middlewares = jsonServer.defaults({ // readOnly: true, }) router.render = (req, res) => { res.header('Access-Control-Allow-Origin', '*') res.jsonp({ body: res.locals.data }) } server.use(middlewares) server.use(router) server.listen(80, () => { console.log('JSON Server is running') })
json-serverのReadme.mdにあるように、外部からのアクセスも可能のはずです。
Access from anywhere
You can access your fake API from anywhere using CORS and JSONP.
おそらくjson-serverの設定が間違っていると思うのですが、どこか分かりません。
分かる方よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。