2017-01-12 5 views
0

Ich veröffentliche mit jquery Datenvariable lesen, aber PHP ist nicht DatenvariableJson stringify kann nicht mit PHP

Javascript Seite lesen:

var data = JSON.stringify(details); 

$.ajax({ 
data: data, 
type: 'POST', 
url: '/dashboard/example.php', 
}); 

PHP Seite:

$json=json_decode($_POST['data']); 
foreach ($json as $value) { 

...SQL update... 

} 

Wenn ich Datenvariablen in PHP so deklariere, ist es funktioniert, aber Post ist nicht gearbeitet.

$string='[{"node":{"_DT_RowIndex":1},"oldData":"2","newData":"1","newPosition":0,"oldPosition":1},{"node":{"_DT_RowIndex":2},"oldData":"3","newData":"2","newPosition":1,"oldPosition":2},{"node":{"_DT_RowIndex":3},"oldData":"4","newData":"3","newPosition":2,"oldPosition":3},{"node":{"_DT_RowIndex":0},"oldData":"1","newData":"4","newPosition":3,"oldPosition":0}]'; 

$json=json_decode($_POST['data']); 


foreach ($json as $value) { 
... 
} 

Können Sie mir helfen?

+0

var dump '$ _POST ['data']' vor der Decodierung und sehen, was es ist? –

+0

Überprüfen Sie einfach '$ _POST ['data']', indem Sie es ausdrucken und entsprechend arbeiten. oder probiere einmal 'data: '' + data + '' ',' –

+0

Ich kann kein Echo in PHP-Datei, so var_dump kann nicht funktionieren – hamozoo

Antwort

0

jQuery.ajax nicht POST Ihre benutzerdefinierten Daten mit Schlüssel data, Schlüssel kommen aus Ihren Daten.

Zum Beispiel, wenn Ihre Daten wäre:

data: {foo: "Bar"} 

Dann $_POST['foo'] würden Sie Bar geben.

Wenn Sie ganze Daten mit $_POST['data'] erhalten möchten, müssen Sie die Taste zuerst setzen.

$.ajax({ 
    data: { 
    data: data 
    }, 
    type: 'POST', 
    url: '/dashboard/example.php', 
}); 

Jetzt ist Ihre $_POST wird data Schlüssel haben. Sie können diese Taste beliebig umbenennen.

+0

@ user7408955 hat das dein Problem gelöst? –