http://www.recipepuppy.com/api/?q=onion&p=1からデータを取得しようとしています。 (サンプルクエリ)データを取得できません。CORSの問題です.JSONPでハッキングしようとしても、まだ動作しません。
これはブラウザで動作しますが、私はReactアプリ内でフェッチしようとしていましたが、私は“No 'Access-Control-Allow-Origin' header is present on the requested resource
エラーが発生しました。
私は戦略を変更しましたが、今はJSONP(https://github.com/mzabriskie/axios/blob/master/COOKBOOK.md#jsonp)を使用しようとしています。
しかし、私はそれを動作させることはできません。私はいつもこのエラーを受けています。誰かが私の問題を助けてくれますか?
エラー:
キャッチされないにReferenceError:?1
マイコード:
import jsonp from 'jsonp'
export const FETCH_RECIPES = 'FETCH_RECIPE'
export const SHOW_INFO = 'SHOW_INFO'
export function fetchRecipes (searchTermToDOoooooooooo) {
const request = jsonp('http://www.recipepuppy.com/api/?q=onion&p=1', null, function (err, data) {
if (err) {
console.error(err.message)
} else {
console.log(data)
}
})
return (dispatch) => {
/*
request.then(({ data: data1 }) => {
dispatch({ type: FETCH_RECIPES, payload: data1 })
})
*/
}
}
export function showInfo (info) {
return {
type: SHOW_INFO,
payload: info
}
}
JP0をq =タマネギ& P = 1つの&コールバック= __ JP0で が定義されていません。 devツールでそのエラーがどのように見えるか:
JSONPは、ターゲットサイトがそれを理解している場合にのみ機能します。 JSONで返された場合、JSONPは失敗します。独自のサーバー側プロキシを作成する必要があります。同じ起源のポリシーを「ハックする」ことはできません。 *編集*待機;そのサイトはJSONPで応答するように見えます。何かがグローバルコールバックを正しく設定していないようです。 – Pointy
あなたはAxiosのものを使った経験がありますか?おそらく問題がどこにあるのだろう。そのグローバル関数 "jp0"を作成する必要がありますが、明らかにそうではありません。 – Pointy
@Pointyなぜそうでないのか分かりません。 JSONPと組み合わされたAxiosを使うべきでしょうか? –