我有一个看起来像这样的字符串{ "name":"John", "age":30, "city":"New York"}我想将其完全按照上述格式而不是数组形式发布到PHP文件中。原因是我以后将在其他地方使用此字符串,而无需内插或重新格式化它。这就是我现在所拥有的。var sentdata = '{ "name":"John", "age":30, "city":"New York"}';$.ajax({ url: 'save.php', type: 'post', data: sentdata, success:function(response){ console.log('Updated'); }});PHP当前正在输出以下内容:数组([{{ “ name”:“ John”, “ age”:30,_“ city”:“ New_York”}] =>)但是我想要一个基本字符串,看起来像in中sentdata。我更喜欢Jquery / JSON解决方案,但是如果我必须用PHP做某事,那就这样吧。谢谢!
3 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
您尚未设置请求的Content-Type,因此PHP认为您正在发送application/x-www-form-urlencoded
数据。
由于您的字符串中没有=
in,因此将其视为没有值的键,并$_POST
使用该数据进行填充。
您需要显式设置“内容类型”请求标头。
$.ajax({
url: 'save.php',
contentType: "application/json",
// etc
但是, PHP不会自动处理JSON编码的请求。$_POST
将为空。
您需要按照此问题中的说明手动解析JSON 。
- 3 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消