首先我要说的是,我对 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 对象,而是提交一个格式如下的 JSON 对象:"City=testing&State=AL&StoreNumber=test "
理想情况下,我想使用 GET 方法将对象传递到我的服务器,以便我可以返回结果,但是当我使用 get 方法时,它只是将上述内容附加到 API 调用 url 中,从而产生 URL 请求形成如下:http://localhost:57175/api/SearchApi?City=testing&State=AL&StoreNumber=test
如有任何帮助,我们将不胜感激。
最佳答案
确保将 JSON 数据类型添加到您的 $.ajax({ });
对象中。这应该可以解决问题!
$.ajax({
// ...
data : JSON.stringify( searchTerms ), // Encode it properly like so
dataType : "json",
// ...
});
关于javascript - jquery 无法在 ajax 调用中正确序列化 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15208519/