我间接使用jQuery ajax调用将数据发送到我的服务器。 在我的数据中是对函数(getName)的引用,它被称为bij jQuery,返回值通过ajax(sendDataPOST)发送。
这样可行,除了发送的数据是查询字符串(id = 500& name = test),我想发送JSON。
所以我在数据上添加了一个JSON.stringify,因此它被转换为JSON,但结果是getName函数不再被调用,变量被忽略。 ({ID:500})
var data = {
id: 500,
name: getName
};
function getName(){
return "test";
}
function sendDataPOST(){
$.ajax({
url: "/test.html",
data: data
});
}
function sendDataJSON(){
$.ajax({
url: "/test.html",
data: JSON.stringify(data)
});
}
有没有办法让jQuery在将其转换为JSON之前执行该函数? 是否有人有关于我使用的方法的jQuery文档的名称或参考?
通过间接使用ajax调用,我的意思是使用Kendo,我只能对ajax配置所做的更改。
答案 0 :(得分:0)
为了更改您发送的数据类型,您应将contentType
参数设置为application/json; charset=UTF-8
,因为它默认为application/x-www-form-urlencoded; charset=UTF-8
:
function sendDataPOST(){
$.ajax({
url: "/test.html",
data: data,
contentType: "application/json; charset=UTF-8"
});
}
请参阅reference并查看explanation。