jQuery Ajax : send data storing in a variable

标签 jquery ajax json

我需要在 jQuery 的 ajax 调用中发送 JSON 数据,如下所示:

$.ajax({
    url: url,
    type: 'POST',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    data: '{"assessmentId":1,"pageId":1,"currentPage":2}',
    async: false,
    success: function(data) {
    // TO DO
    }
});

这工作正常,但我发送的数据需要存储在如下变量中:

var jsonSendingData = '{"assessmentId":1,"pageId":1,"currentPage":2}';

一旦我将其保存在变量 jsonSendingData 中并传入 ajax 调用,就会出现错误。

我还尝试像这样对 json 数据进行字符串化:

var jsonSendingData = JSON.stringify([{"assessmentId":1,"pageId":1,"currentPage":2}]);

它不起作用。我在这里做错了什么?

最佳答案

您不需要以字符串形式发送数据,jQuery 会为您完成此操作。试试这个

var myData = {
  assessmentId: 1,
  pageId: 1,
  currentPage: 2
};

$.ajax({
    url: url,
    type: 'POST',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    data: myData, //Notice the change here
    async: false,
    success: function(data) {
      // TO DO
    }
});

PS:有一个很similar answer here 。请检查一下。

关于jQuery Ajax : send data storing in a variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788662/

相关文章:

javascript - 如何在图像 : bootstrap 3 modal 内放置关闭图标

jQuery - 如何选择不包含特定元素的元素

javascript - 没有下拉菜单的 Bootstrap 导航栏下拉表

php - Html:对于 Select multiple,只提交一个值,但 .val() 返回两个值的数组

javascript - 为什么我在服务器客户端状态下得到 406 Not Acceptable ,甚至我的 spring Controller 也没有调用?

c# - 从 .Net web 方法修复 JSON 日期序列化

javascript - 分配失败 - Angular 11 中的 JavaScript 堆内存不足,而 ng serve

php - 使用 php pdo 将 JSON 转换为 Excel 文件

jquery - 如何在 AJAX 调用期间获取等待加载程序

ios - 在 Restkit 中映射 JSON 很困难