在 Web 开发中,在客户端和服务器之间高效传输数据通常至关重要。 jQuery 是一个流行的 JavaScript 库,提供了处理此类数据交换的便捷方法。一项常见的任务是使用 jQuery 将 JSON 格式的数据发送到服务器。
但是,有时开发人员会遇到这样的问题:数据不是以所需的 JSON 格式而是以纯文本形式传输。为了理解为什么会发生这种情况,让我们检查一个代码片段:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
此代码尝试使用 $.ajax 方法将 arr 对象中的数据发送到 Ajax.ashx 服务器。但是,由于代码未指定请求内容类型或未正确构造 JSON 请求,因此出现了问题。
要纠正此问题,应使用 JSON.stringify 方法将 JavaScript 对象转换为原生 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); } });
注意要点:
其他注意事项:
以上是为什么我的 jQuery AJAX 请求以纯文本而不是 JSON 形式发送数据?的详细内容。更多信息请关注PHP中文网其他相关文章!