Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php解析javascript DOM post数据?_Javascript_Php_Json_Urldecode - Fatal编程技术网

如何使用php解析javascript DOM post数据?

如何使用php解析javascript DOM post数据?,javascript,php,json,urldecode,Javascript,Php,Json,Urldecode,我的JavaScript将一些数据发送到php,我的php代码尝试对其进行解析,但总是失败!php接收数据并将其放置在文本区域中,但在解析之前未对其进行良好格式化。有谁能告诉我如何正确格式化接收到的数据,使其可以通过?提前谢谢 javascript书签 javascript: (function() { var d = window.open('about:blank'), a = d.document; a.write('<!DOCTYPE html>

我的JavaScript将一些数据发送到php,我的php代码尝试对其进行解析,但总是失败!php接收数据并将其放置在文本区域中,但在解析之前未对其进行良好格式化。有谁能告诉我如何正确格式化接收到的数据,使其可以通过?提前谢谢

javascript书签

javascript: (function() {
    var d = window.open('about:blank'),
        a = d.document;
    a.write('<!DOCTYPE html><html><head><title></title></head><body></body></html>');
    a.close();
    var b = a.body.appendChild(a.createElement('form'));
    b.setAttribute('method', 'post');
    b.setAttribute('action', 'http://mywebsite.com/test.php');
    var c = b.appendChild(a.createElement('input'));
    c.setAttribute('type', 'hidden');
    c.setAttribute('name', 'DOM');
    c.setAttribute('value', encodeURIComponent(document.documentElement.innerHTML));
    b.submit()
})()
$code2=$_POST['DOM'];通过php接收的数据如下所示:

 %7B%0A%20%20%20%20%22success%22%3A%201%2C%0A%20%20%20%20%22items%22%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22cherry%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22img%22%3A%20%22images%5C%2Fitems%5C%2F213433243324342cherry_fruits_logo.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url3%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cat_id%22%3A%20%2255%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url2%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D234123423432143242%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D23423524353454234252%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22mango%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22img%22%3A%20%22images%5C%2Fitems%5C%2F968756756mango_fruits_logo.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url3%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D34524358098019234123%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cat_id%22%3A%20%2255%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url2%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%5C%2Fsession%3D34524358098019234123%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D34523454364362345134%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A
php上的实际数据应如下所示:

{
    "success": 1,
    "items": [{
                "id": "1",
                "name": "cherry ",
                "img": "images\/items\/213433243324342cherry_fruits_logo.png",
                "item_url3": "http:\/\/awebsite.com\/do?session=",
                "cat_id": "55",
                "item_url2": "http:\/\/awebsite.com\/do?session=234123423432143242",
                "item_url": "http:\/\/awebsite.com\/do?session=23423524353454234252"
            }, {
                "id": "2",
                "name": "mango",
                "img": "images\/items\/968756756mango_fruits_logo.png",
                "item_url3": "http:\/\/awebsite.com\/do?session=34524358098019234123",
                "cat_id": "55",
                "item_url2": "http:\/\/awebsite.com\/do\/session=34524358098019234123",
                "item_url": "http:\/\/awebsite.com\/do?session=34523454364362345134"
            }

您的数据似乎也是UTF-8编码的,因此要对其进行解码,还可以使用
utf8\u decode()


您的数据似乎也是UTF-8编码的,因此要对其进行解码,还可以使用
utf8\u decode()


你的javascript代码是什么?似乎您正在搜索url内附字符串,您可以只发送JSON。显示您的实际AJAX请求(标题和正文)或相应的JS代码谢谢您的回复。我编辑了我的第一篇博文,包括bookmarklet javascript代码。你认为问题出在javascript或php部分吗?你不应该对输入值应用
encodeURIComponent
,因为它将在表单提交时自动编码谢谢我删除了encodeURIComponent现在php接收的数据已格式化,我必须删除一些额外的代码从接收到的数据中提取html,使其成为有效的json,并且我能够正确解析它!你的javascript代码是什么?似乎您正在搜索url内附字符串,您可以只发送JSON。显示您的实际AJAX请求(标题和正文)或相应的JS代码谢谢您的回复。我编辑了我的第一篇博文,包括bookmarklet javascript代码。你认为问题出在javascript或php部分吗?你不应该对输入值应用
encodeURIComponent
,因为它将在表单提交时自动编码谢谢我删除了encodeURIComponent现在php接收的数据已格式化,我必须删除一些额外的代码从接收到的数据中提取html,使其成为有效的json,并且我能够正确解析它!
{
    "success": 1,
    "items": [{
                "id": "1",
                "name": "cherry ",
                "img": "images\/items\/213433243324342cherry_fruits_logo.png",
                "item_url3": "http:\/\/awebsite.com\/do?session=",
                "cat_id": "55",
                "item_url2": "http:\/\/awebsite.com\/do?session=234123423432143242",
                "item_url": "http:\/\/awebsite.com\/do?session=23423524353454234252"
            }, {
                "id": "2",
                "name": "mango",
                "img": "images\/items\/968756756mango_fruits_logo.png",
                "item_url3": "http:\/\/awebsite.com\/do?session=34524358098019234123",
                "cat_id": "55",
                "item_url2": "http:\/\/awebsite.com\/do\/session=34524358098019234123",
                "item_url": "http:\/\/awebsite.com\/do?session=34523454364362345134"
            }
$str = '%7B%0A%20%20%20%20%22success%22%3A%201%2C%0A%20%20%20%20%22items%22%3A%20%5B%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22cherry%20%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22img%22%3A%20%22images%5C%2Fitems%5C%2F213433243324342cherry_fruits_logo.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url3%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cat_id%22%3A%20%2255%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url2%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D234123423432143242%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D23423524353454234252%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22mango%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22img%22%3A%20%22images%5C%2Fitems%5C%2F968756756mango_fruits_logo.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url3%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D34524358098019234123%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cat_id%22%3A%20%2255%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url2%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%5C%2Fsession%3D34524358098019234123%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22item_url%22%3A%20%22http%3A%5C%2F%5C%2Fawebsite.com%5C%2Fdo%3Fsession%3D34523454364362345134%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A';

$result = utf8_decode(urldecode($str));

print_r($result);