C#-$.ajax并将数据传递到.asmx Web服务

我很困惑为什么会这样.

我似乎无法通过$.ajax成功地传递数据,URL被全部弄乱了,而不是在查询字符串中传递了数据.

为了简洁起见,我已经清理了代码,请参见下文.

网络服务(使用GET)

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string TestMethod(string country, string city)
{
    return country + city;
}

jQuery的

$.ajax({
    url: "Test.asmx/TestMethod",
    type: "GET",
    data: '{"country":"' + country + '","city":"' + city + '"}',
    dataType: "json",
    success: function(msg) {
        alert(msg.d);
    }
});

结果URL和错误(在Firebug中)

http://example.com/Test.asmx/TestMethod?{%22country%22:%22NZ%22,%22city%22:%22AK%22}
system.invalidOperationException: Missing parameter: country.

解决方法:

尝试改变

数据:'{“ country”:“’国家’”,“城市”:“’城市’”}’

数据:“ country =”国家“& city =”城市

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...