3

ここでは非常に詳しく説明します。Firebug 1.5.3 を搭載した Max OSX で Firefox 3.6.3 を使用しています。

プロジェクトには 2 つのバージョンがあります。1 つは機能し、もう 1 つはバグがあります。1 つはダウンロードしたもの、もう 1 つは手で入力したものです。どれが機能しないかを推測してください。私が新しいバージョンのjQueryを使用し、ファイルの名前が異なることを除いて、それらは同じである必要があります。jQuery のバージョンは問題ではありません。私は古いjqueryを使用し、作業中のものは新しいjqueryを使用しました。いずれにせよ、私のものはまだ壊れていて、ダウンロードしたものはまだ機能しています。これらのプロジェクトがどのように異なるのかを確認しようとして、目をつぶってしまいました。私がやりたくない唯一のことは、動作中のコードをバストされたコードにコピーすることです。これは、同様の問題を引き起こしている独自のコードであるときに、このようなものを理解できる必要があるためです。

私のコードの Firebug で確認できるエラーはありません。実際、コードの 2/3 は問題なく動作します。2 番目のボタンだけでは何もしません。だから踏み切りたかった。これらは常に眼球のエラーであり、私はそれらを見るのが本当に苦手です.

公開サーバーに置いています。 http://colleenweb.com/jqtests/ex71.html そしてex71.jsをデバッグしたい

作業中のものを発砲し、ex71.js の 13 行目にブレークポイントを設定すると、2 番目のボタンをクリックしたときに変数 json に期待される値が含まれます。しかし、これをファイアバグしても、そこには到達しません。私はhtmlを調べてきましたが、すべての名前が一致しているようです。また、なぜボタンが正しく配置されていないのだろうかと思いますが、それは css の問題です。何が欠けているのか、さらに重要なこととして、これらの種類のバグを見つけるために使用できるツール/テクニックを教えてください。

4

2 に答える 2

3

api.jquery から:

For example, all strings represented in JSON, whether they are properties or values, must be enclosed in double-quotes. For details on the JSON format, see http://json.org/.

入力データは構文的に正確ですか?

于 2010-04-08T19:37:46.807 に答える
1

あなたが使用している関数は JSONP を期待していると思います。それがコールバック=? とにかく示します。放置してみましたか?

$.getJSON('ex71.json', function(json) {
    $('input#tmpTitle').val(json.title);
    $('input#tmpCompany').val(json.company);
}); 

ドキュメントのこのページでは、コールバック =? クロスドメイン呼び出しに必要な JSONP に使用できます。クロスドメイン呼び出しを行っていない場合は、必要ありません。クロスドメイン呼び出しを行っている場合は、通常の JSON の代わりに JSONP を返す必要があります (実際には、思ったよりもずっと簡単です)。

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

于 2010-04-08T19:40:22.350 に答える