程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将JSON数据从Javascript发送到PHP?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将JSON数据从Javascript发送到php??

开发过程中遇到将JSON数据从Javascript发送到php?的问题如何解决?下面主要结合日常开发的经验,给出你关于将JSON数据从Javascript发送到php?的解决方法建议,希望对你解决将JSON数据从Javascript发送到php?有所启发或帮助;

我在这里获得了很多信息,所以我想发布我发现的解决方案。

从浏览器上的JavaScript获取JsON数据到服务器,然后让php成功解析它。

windows上的浏览器(firefox)中的JavaScript。LAMP服务器作为远程服务器:Ubuntu上的php 5.3.2。

1)JsON只是文本。以某种格式的文本,但只是一个文本字符串。

2)在JavaScript中,var str_Json = JsON.Stringify(myObject)给我JsON字符串。

3)我使用JavaScript中的AJAX XMLhttprequest对象将数据发送到服务器:

request= new XMLhttprequest()
request.open("POST", "JsON_Handler.php", truE)
request.setrequestheader("Content-type", "application/Json")
request.send(str_Json)
[... code to display response ...]

4)在服务器上,php代码读取JsON字符串:

$str_Json = file_get_contents('php://input');

这将读取原始POST数据。$str_Json现在包含来自浏览器的确切JsON字符串。

1)如果我想使用"application/x-www-form- urlencoded"请求标头,则需要创建一个标准的POST字符串,"x=y&a=b[etc]"便php得到它时,可以将其放入$_POST关联数组中。因此,在浏览器中的JavaScript中:

var str_Json = "Json_String=" + (JsON.Stringify(myObject))

当我像上述版本1中一样通过AJAX / XMLhttprequest发送str_Json时,php现在将能够填充$ _POST数组。

显示的内容$_POST['Json_String']将显示JsON字符串。将$ _POST数组元素上的Json_decode()与Json字符串一起使用将正确解码该数据并将其放入数组/对象中。

最初,我尝试发送带有application / x-www-form-urlencoded标头的JsON字符串,然后尝试立即从php的$ _POST数组中读取它。$ _POST数组始终为空。那是因为它期望格式为yval = xval&[rinse_and_repeat]的数据。它没有找到这样的数据,只有JsON字符串,并且只是将其丢弃了。我检查了请求标头,然后正确发送了POST数据。

同样,如果我使用application / Json标头,则无法再次通过$ _POST数组访问发送的数据。如果要使用application / Json内容类型标头,则必须通过php:// input而不是$ _POST访问php中的原始POST数据。

解决方法

如何将JSON数据从浏览器中的Javascript发送到服务器,并由php在其中进行解析?

大佬总结

以上是大佬教程为你收集整理的将JSON数据从Javascript发送到PHP?全部内容,希望文章能够帮你解决将JSON数据从Javascript发送到PHP?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。