首先我要说的是,我对Javascript并不是非常熟悉,我不知道这里发生了什么。
我有以下功能:
self.search = function () {
var searchTerms = {
"City": this.cityName,
"State": this.stateName,
"StoreNumber": this.storeNumber,
};
$.ajax("/api/SearchApi", {
data: searchTerms,
type: "POST", contentType: "application/json",
success: function (result) {
alert(result);
}
}
});
当我提交时,它并没有像预期的那样提交一个很好的JSON对象,而是提交了一个格式为:"City=testing&State=AL&StoreNumber=test "
的JSON对象
理想情况下,我希望使用GET方法将对象传递给服务器,这样我就可以返回结果,但是当我使用get方法时,它只是将上面的内容附加到API调用url中,从而产生一个URL请求,格式为:http://localhost:57175/api/SearchApi?City=testing&State=AL&StoreNumber=test
。
任何帮助都将不胜感激。
发布于 2013-03-04 18:36:56
确保将JSON的dataType添加到$.ajax({ });
对象中。这应该可以解决问题了!
$.ajax({
// ...
data : JSON.stringify( searchTerms ), // Encode it properly like so
dataType : "json",
// ...
});
发布于 2013-03-04 18:48:25
2件事
$.ajax({ url: URL,type:"POST",//限定发送的数据以保证其正确编码的数据:JSON.stringify(数据),//这是发送数据的类型contentType:‘应用程序/json;字符集=utf-8’,//这是你收到的数据dataType:"json“}).done(function( data ) { var dataYouGet = JSON.parse( data );}).fail(function(xhr,ajaxOptions,thrownError) { }).always(function(data) { });
https://stackoverflow.com/questions/15208519
复制