1
我的JavaScript發送一些數據給php,我的php代碼試圖解析它,但它一直失敗! PHP接收數據並將其放置在文本區域,但在解析之前未格式化。任何人可以告訴我如何正確格式化接收到的數據,所以它是可通過的?提前致謝。如何解析JavaScript DOM使用PHP發佈數據?
javascript bookmarklet;
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()
})()
PHP代碼:
$code2 = $_POST['DOM'];
$data = json_decode($code2, true);
print_r($data['items']);
foreach($data['items'] as $item) {
echo "id:".$item[ 'id' ];
echo "name:".$item[ 'name' ];
}
$碼2 = $ _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"
}
什麼是您的JavaScript代碼?似乎你正在尋找url-endoced字符串,你可以發送只是JSON。 – jcubic
顯示您的實際AJAX請求(標題和正文)或相應的JS代碼 – hindmost
感謝您的回覆。我編輯了我的第一篇文章,其中包括書籤javascript代碼。你認爲問題是與JavaScript或PHP的一部分? – user1788736