0

$.getJSON を使用してjsonファイルを取得しようとしています:

$.getJSON('json/resume.json', function(data){
    alert('success');
});

しかし、アラートメッセージは来ていません、私は試しました:

$.ajax({
    type: 'POST',
    url: 'json/download.php',
}).success(function(){alert("hello")});

この場合、アラートは HELLO として送信されます。

私は完全に立ち往生しています。助けてください

ありがとう

4

4 に答える 4

2

2 つの異なる URL に対して 2 つの異なる要求を使用し、それらを同じものとして比較しています。1 つ目は json/resume.json への取得であり、2 つ目は json/download.php への POST です。最初の呼び出しが失敗する唯一の理由は、次のいずれかです。

json/resume.json does not exist
json/resume.json does not contain valid json

グローバルな ajax エラー ハンドラを設定して getJSON からエラーを取得するか、次のような ajax を介して同じ json クエリを実行する必要があります。

$.ajax({
    url: 'json/resume.json',
    type: 'GET',
    dataType: 'json'
    success: function(response) {
        console.log(response)//should come into console anyway 
    },
    error: function(request, type, errorThrown) {

        message = (type=='parseerror') ? "json is invalid" : "(" + request.status + " " + request.statusText + ").";
        alert("error with request: "+message);
    }
})
于 2012-08-18T10:27:17.740 に答える
0

getJSON()で発生するエラーをチェックアウトする必要があると思います。

$.getJSON('json/resume.json', function(data){
    alert('success');
}).error(function(e, m) { alert('error'); console.log(m); });
于 2012-08-18T10:53:21.287 に答える
0

サーバー側のスクリプトが有効な JSON を返さないか、Content-Type応答ヘッダーが に設定されていませんapplication/json

したがって、スクリプトを次のように使用する前に、これら 2 つの条件が満たされていることを確認してください$.getJSON

<?php
    header('Content-Type: application/json');
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
    echo json_encode($arr);
?>
于 2012-08-18T10:26:10.513 に答える
0

1 つ目は GET、2 つ目は POST です。ブラウザで開発ツールを使用し、NET タブでサーバー 500 エラーを確認しましたか?

サーバーメソッドがPOSTのみを受け入れる場合、それはあなたの面倒です。

于 2012-08-18T10:24:46.633 に答える