当前位置: 首页 > 面试题库 >

使用jQuery发送JSON数据

斜成济
2023-03-14
问题内容

为什么在下面的代码中将数据发送为City=Moscow&Age=25JSON格式而不是?

var arr = {City:'Moscow', Age:25};
$.ajax(
   {
        url: "Ajax.ashx",
        type: "POST",
        data: arr,
        dataType: 'json',
        async: false,
        success: function(msg) {
            alert(msg);
        }
    }
);

问题答案:

因为您既未指定请求内容类型,也未指定正确的JSON请求。这是发送JSON请求的正确方法:

var arr = { City: 'Moscow', Age: 25 };
$.ajax({
    url: 'Ajax.ashx',
    type: 'POST',
    data: JSON.stringify(arr),
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    async: false,
    success: function(msg) {
        alert(msg);
    }
});

注意事项:

  • 使用此JSON.stringify方法将javascript对象转换为本地和内置于现代浏览器中的JSON字符串。如果要支持较旧的浏览器,则可能需要包含json2.js
  • 使用contentType属性指定请求内容类型,以便向服务器指示发送JSON请求的意图
  • dataType: 'json'属性用于服务器期望的响应类型。jQuery足够智能,可以从服务器响应标头中 猜测 出来Content-Type。因此,如果您有一个或多或少遵守HTTP协议并响应Content-Type: application/json您的请求的Web服务器,那么jQuery会自动将响应解析为javascript对象并返回到success回调中,因此您无需指定该dataType属性。

注意事项:

  • 您所说arr不是数组 。这是一个具有属性(CityAge)的javascript对象。数组[]在javascript 中用表示。例如[{ City: 'Moscow', Age: 25 }, { City: 'Paris', Age: 30 }],一个包含2个对象的数组。


 类似资料:
  • 问题内容: 我是PHP / jquery的新手,我想问一下如何使用json格式的ajax从表单字段(例如(名称,年龄等))发送json数据。可悲的是,我找不到与此相关的任何信息,甚至可以动态地进行?Google搜索仅提供诸如手动建立数据之类的答案。:,等等。 反正有做吗? 谢谢您的帮助! 编辑: 问题答案: 这是一个简单的 这是我的test.php仅用于测试 这是我的index.html 两个文件

  • 问题内容: 我具有以下从数据库中提取数据的功能。ajax调用正常工作。如何将成功功能中制表符分隔的数据发送给用户?将连接类型设置为“ application / vnd.ms-excel”无效。成功警报将显示格式正确的数据。 我不想在浏览器中显示数据-我想将其发送到Excel。 编辑: 我找到了一种方法来做我想要的。我没有将用户重定向到会提示他们保存/打开Excel文件的新页面,而是在隐藏的ifr

  • 问题内容: 我发现了无数关于如何使用jQuery和Ajax从json文件中检索数据的教程,但是没有关于如何将 数据发布到json文件中的* 教程。 *。 如果有人可以向我展示或给我发送有关如何执行此操作的小脚本,那就太好了。我到处都在搜索如何执行此操作,但是没有运气。我见过有人这样做的例子,但他们似乎忘记了分享我没有看到的重要信息。我使用ajax检索数据json文件没有问题。如果有人可以告诉我我是

  • 问题内容: 我正在尝试使用GET方法发送一个json对象。我的代码: 但是,收到的标头将“ Content-Length”设置为零,因此服务器上的json解析器无法读取内容。 我已经尝试设置内容长度标头,但是它仍然以零的形式出现在服务器上: 任何想法如何使它工作?它必须是GET请求。 问题答案: GET请求至少通常是没有消息正文。如文档中所述,jQuery将GET请求追加到url参数。您应该能够使

  • 问题内容: 我想将Json发布到同一服务器上的Web服务。但是我不知道如何使用JQuery发布Json。我已经尝试使用此代码: 但是使用此JQuery代码时,数据不会作为Json在服务器上接收。这是服务器上的预期数据:但是使用JQuery时,服务器receive 。换句话说,它是“ urlencoded”数据,而不是Json。 有什么方法可以使用JQuery以Json格式发布数据,而不是未编码的数

  • 问题内容: 我知道有很多关于通过JQuery / JSON使用WCF REST的文章,但是我无法使其正常工作。我目前停留在日期参数上。以下是我的C#方法: 以下是我的JavaScript代码: 我的第一个问题是我不断收到日期序列化错误: 它说它不会以开始和结束的方式开始/结束。 我的第二个问题是:我是否必须乘坐枚举数,还是有发送方法? 问题答案: 我拔了很多头发,为此流下了很多眼泪,但这确实可行。