为了账号安全,请及时绑定邮箱和手机立即绑定

将JSON对象发送为字符串而不是数组

将JSON对象发送为字符串而不是数组

PHP
汪汪一只猫 2021-05-02 15:21:10
我有一个看起来像这样的字符串{ "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 。


查看完整回答
反对 回复 2021-05-14
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信