質問

サーバーから取得した JSON は有効であると判断しましたが (ajax 呼び出しを手動で行っています)、実際には JQuery を使用したいと考えています。また、firebug を使用して、サーバーに送信される「ポスト」URL が正しいことも確認しました。ただし、エラー コールバックは依然としてトリガーされています (解析エラー)。データ型も試してみました:文章。

他に含めるべきオプションはありますか?

$(function() {
    $("#submit").bind("click", function() {
        $.ajax({
            type: "post",
            url: "http://myServer/cgi-bin/broker" ,
            datatype: "json",
            data: {'start' : start,'end' : end},
            error: function(request,error){
                alert(error);
            },
            success: function(request) {
                alert(request.length);
            }
        }); // End ajax
    }); // End bind
}); // End eventlistener
役に立ちましたか?

解決

試してみたいいくつかの提案を次に示します。

1)指定した「datatype」オプションは「dataType」である必要があります(大文字と小文字は区別されると思います)

2) 次のように「contentType」オプションを使用してみてください。

contentType: "application/json; charset=utf-8"

応答ではなく投稿 URL へのリクエストで使用されるため、これがどの程度役立つかはわかりません。詳細については、この記事を参照してください。 http://encosia.com/2008/06/05/3-missing-to-avoid-when-using-jquery-with-aspnet-ajax(asp.net 用に書かれていますが、適用できる可能性があります)

3) 投稿 URL の出力を三重チェックし、JSON バリデーターを介して出力を実行して、出力が有効であり、JSON オブジェクトに解析できることを確実に確認します。 http://www.jsonlint.com

これが少しでも役立つことを願っています!

他のヒント

なぜ myResult の代わりに request?

success: function(request) {
                alert(myResult.length);
            }

データパラメータが間違っています。以下に機能する例を示します。

データ:{ 索引:ddl.selectedIndex },

これにより、値 ddl.selectedIndex を持つ、index というプロパティを持つオブジェクトが構築されます。

データパラメータ行から引用符を削除する必要があります

幸運を祈ります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top