jquery - jQuery:如何在 AJAX 帖子中发送 JSON 数据?
问题描述
我正在研究 AJAX。我创建了一个如下所示的发布请求:
$.ajax({
'url':'http://localhost/api/create/',
'method':'POST',
'dataType': 'json',
'contentType': 'application/json',
'data':{
"refId":585,
"phone":"0674444444"
},
'success': getHandlingStatus
});
当我的请求被执行时,数据在我的请求负载中作为参数而不是 JSON 数据传递。这是我的请求有效负载:
refId=585&phone=0674444444
我想以 json 格式发送数据,例如:
{
"refId":"585",
"phone:"0674444444"
}
请问我错过了什么?
解决方案
您需要使用 JSON.stringify 将数据转换为 JSON,并将 ProcessData 选项设置为 false。根据 jquery 的文档:
默认情况下,作为对象(从技术上讲,除了字符串之外的任何内容)传入 data 选项的数据将被处理并转换为查询字符串,适合默认的内容类型“application/x-www-form-urlencoded” . 如果要发送 DOMDocument 或其他未处理的数据,请将此选项设置为 false。
$.ajax({
'url':'http://localhost/api/create/',
'method':'POST',
'dataType': 'json',
processData: false,
'contentType': 'application/json',
'data':JSON.stringify({
"refId":585,
"phone":"0674444444"
}),
'success': getHandlingStatus
});
推荐阅读
- unreal-engine4 - 如何在演员虚幻引擎 4 上添加两个脚本
- java - 如何让按钮在 JavaFX 中重叠图像?
- amazon-ecs - 如何使用 Route53 DNS 将 AWS Fargate ECS 容器公开到 Internet?
- reactjs - 点击 Gatsby 中的链接后,整个网站都卡住了
- angular - 带有数组的行为主题
- r - 按组计算数据帧中的频率
- python - SQL Server Python ML 服务中的 FileNotFoundError
- asp.net-core - ASP.net Core,使用另一个方法的错误消息重定向到 Index 方法
- netsuite - Netsuite - 将包装尺寸添加到标记订单包装屏幕
- excel - 更改依赖单元格中的值时没有 debug.print 输出 [VBA]