2012-04-18 9 views
0

getJSONを使用してGoogleカスタム検索にリクエストしています。 FireBugは200 OKを返していることを示しています。しかし、私のコールバック関数は決して起こりません。getJSONサイレントエラー?

jQueryのドキュメントにはサイレントエラーがありますが、これは意味があると思います。私はGoogleにフォーマットエラーがあるとは思わない。

http://api.jquery.com/jQuery.getJSON/

トラブルがこれをどのように撮影することができますか?回避策はありますか?代わりにAJAXを使用することを見ましたが、必要な詳細を釘付けにすることはできません。

btw、FirebugからGETリクエストURLをコピーしてブラウザに貼り付けると結果が得られます。しかし、Firebugの結果は空白/空です。私は困惑している。

+0

は詳細を取得します。 200 OKは何かが間違っていないことを意味しません。 Googleのサーバーから返されている内容を正確に確認してください。私はしばしばJSONの結果(私のサーバー上で、外部APIではない)にPHPエラー/警告が混じっているので、javascriptを解析しようとすると大騒ぎになることがあります。 – deltree

+0

「GoogleからJSONを投稿できますか?」火かぶり?結果タブは空白です。 –

+0

"詳細を取得する200 OKは何かが間違っていなかったことを意味しない" 私は喜んでいるが、私はn00bのビットであり、私は具体的なものを取得しない限り、私はあなたに何を与えることができるか分からない、私はばかではありません。ちょうどnoob。ありがとう –

答えて

1

最初にチェックするのは、リクエストがJSONPプロトコルを使用していることです。あなたのURLは "コールバック=?"パラメータが含まれています。 JSONPは、すべてのクロスドメインJSONリクエストに必要です。

まだ問題がある場合は、デバッガの返品データを見て、他の人がレビューするためにここに投稿してください。

は、ソリューションFOR THIS POSTを参照してください。Access-Control-Allow-Origin error sending a jQuery Post to Google API's

+0

ありがとう。私は投稿してからもう少し宿題を終えましたが、まだそれを閉じることはできません。 「あなたの要求がJSONPプロトコルを使用していることを確認してください」ということを明確にしてください。私には電話がありませんが、どうすればいいですか?私も$ .ajax()と同じものでリクエストを作成しようとしました...私は200のデータを取得します。 「デバッガの戻りデータを見てください」という別の文が2つもあります。もう一度お世話になりました。 –

+0

最初のリクエストにURLにコールバックパラメータが含まれていることを確認してください(例:http://www.google.com?s=bleh&callback=?)。同じURLをブラウザに貼り付け、$ .ajaxを使用せずに何が返品になるか見ることができますか? –

+0

はい、200'ed(結果はありません)URLをFirebugからコピーしてブラウザに貼り付け、結果を返します。したがって、私は要求が適切にフォーマットされていると信じています。もう一度、ありがとう。あなたにPMを送る方法はありますか?私はあなたにURLを送ることができます。私はGoogleカスタム検索のデベロッパーだから公開したくないし、1日に100問しか支払わない。 –