有沒有辦法在jQuery中將$.ajax
從默認值更改爲序列化發送數據作爲表單序列化爲JSON?更改jQuery的默認串行器
取而代之的是以下內容:
$.post("/my/url/endpoint", JSON.stringify(obj))
我想這樣做一次,使自動發生:
$.defaultSeralizer = JSON.stringify
從現在開始,我會能夠:
$.post("/my/url/endpoint", obj)
有沒有辦法在jQuery中將$.ajax
從默認值更改爲序列化發送數據作爲表單序列化爲JSON?更改jQuery的默認串行器
取而代之的是以下內容:
$.post("/my/url/endpoint", JSON.stringify(obj))
我想這樣做一次,使自動發生:
$.defaultSeralizer = JSON.stringify
從現在開始,我會能夠:
$.post("/my/url/endpoint", obj)
沒有辦法做到這一點沒有真正在寫一些jQuery的核心,而且總會引起的道路問題。最好的選擇是爲jQuery添加另一個Ajax助手,它可以完成你想要的任務。
這裏是一個例子https://stackoverflow.com/a/19516921/823942。
請記住,某些瀏覽器缺少本機JSON支持。
您可以將.toJson原型添加到對象t帽子會爲你做。它不會爲你節省噸打字,但取決於你命名它。
Object.prototype.toJson = function(){
var jsonValue = JSON.stringify(this);
alert(jsonValue);
}
var person = {"name": "John Smith", "age": 35, "location": "California"};
person.toJson();
已經有JSON3拉進去了。不用擔心JSON支持......在IE8中慢#* @ $,但這就是它的方式......謝謝。 – Crisfole