3

このチュートリアルを使用して、JSONP を使用して .net webservice (asmx) を実装しています。

Webサービスを呼び出すと、単一のパラメーターで機能します。ただし、複数のパラメーターを使用して呼び出そうとすると、ネットワーク 500 エラーが発生し続けます。"data: JSON.stringify({ jewellerId: filter, locale: 'en-US' }),"このスタックオーバーフローの質問で説明されているように使用しようとしました: Pass Multiple Parameters to jQuery ajax call。しかし、うまくいきません。

彼女は私のスクリプトです:

function getData() 
{
    var key = "123";
    var code = "12458";
    jQuery.ajax({ url: http://service.com/test.asmx,
        data: JSON.stringify({ Key: key, Code: code }),
        dataType: "jsonp",
        success: function(json) 
        {
            alert(json.d);
        },
        error: function() {
            alert("Hit error fn!");
        }
    });
}

したがって、Webサービスを変更してパラメーターを1つだけ取るようにすると、データが次のように変更され data: {Key: JSON.stringify("123") } ました。うまくいきました。

これを修正する方法はありますか?

4

1 に答える 1

2

データをGETとして送信する場合は、データを文字列化しないでください(jsonpリクエストの場合)。

function getData() {
    var key = "123";
    var code = "12458";
    jQuery.ajax({ url: http://service.com/test.asmx,
        data: { Key: key, Code: code },
        dataType: "jsonp",
        success: function(json) {
            alert(json.d);
        },
        error: function() {
            alert("Hit error fn!");
        }
    });
}
于 2012-10-22T21:26:15.273 に答える