2

重複の可能性:
json Uncaught SyntaxError:予期しないトークン:

jsonpは正しい応答を返すためにサーバーサポートに依存していますか

私はこのリクエストを受け取りました、そして私が返すのはjsエラーです。

$.getJSON('myURL?q=keyword&callback=?', function(data){console.log(data)});

角度のあるjsonpメソッドでさえ機能していません:

http://jsfiddle.net/neoswf/tckGG/5/

コンソール>>jsエラーUncaught SyntaxError: Unexpected token :

jsonpはいくつかのサーバー実装に依存していますか?

解決しました!!!

この質問は他の質問とは異なり、プロキシソリューションについて他の回答が語ることはありません。

4

3 に答える 3

3

サーバーはJSONPを返しません。JSONを返します。JSONP結果は、関数呼び出しでラップされたJSON結果です。

例:

callback873659823745({"destino":"http://...", ... })

サーバーにJSONPを返させない場合は、サービスを要求し、JSONPの結果としてラップされたJSONの結果を返すプロキシサーバーが必要になります。

たまたま、私は少し前にjsonp.guffa.comでそのようなプロキシを設定しました。これは、自分で設定する能力がない場合に使用できます。

デモ: http: //jsfiddle.net/Guffa/tckGG/6/

于 2012-10-10T22:56:46.930 に答える
2

はい、jsonp にはサーバー サポートが必要です。サーバーは、json* P *の「パディング」部分で json をラップする必要があります。これは、クライアントが応答データを定義して実行するメソッドです。

于 2012-10-10T22:41:36.107 に答える
2

URL が JSONP を返していないためです。JSONを返しています。

{"destino":"http://www.buscape.com.br","palavras":["tv lcd 32","tv led","tv led 32","tv led 40","tv","tv led 42","tv lcd","tv lcd 42","tv lcd 26","tv 3d","tv lcd 40","tv 32","tv led 46","tv 42","tv lcd 22","tv led 32 full hd"]}

JSONP の場合の例については、flickrからの戻り値を確認してください。戻る

callbackToExecute({... JSON Object ...})
于 2012-10-10T22:42:01.280 に答える