jQuery在Ajax中处理Javascriptobject

时间:2018-03-13 14:41:56

标签: jquery json eval

我间接使用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配置所做的更改。

1 个答案:

答案 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