Я пытаюсь передать json-файл на PHP с помощью JQuery. когда я проверяю ответ, я получаю ошибку. json_decode ожидает, что параметр 1 будет строкой.сообщение json file to PHP
Вот мой JQuery рутина
$("#ProcessData").click(function(){
var cols = $("#tblGroup thead tr th").map(function(){
return $(this).text(); });
var headers = cols;
// Fetch the data from the table body
var tableObject = $("#tblGroup tbody tr.tableClass").map(function(i){
var row = {}; $(this).find('td').each(function(i){
var rowName = headers[i];
row[rowName] = $(this).text();
});
return row;
}).get();
// convert object to JSON
JSON.stringify(tableObject);
//now call ajax to pass info to php
$.ajax({
url: 'php/ProcessOrder.php',
data: {my_json_data: tableObject},
type: 'POST',
async: false,
dataType: 'json', cache:false
});
});
вот мой PHP скрипт
<?PHP
//this is the layout of the json object
//Title:First Name:Surname:Group Name this will needamending as the json object builds
require("dbsettings.php");
$_Reference= $_POST["my_json_data"]; //this is a json object
// Loop through Array
$someArray = json_decode($_Reference, true); // Replace ... with your PHP Array
foreach ($someArray as $key => $value) {
echo $value["Title"] . ", " . $value["First Name"] . ", " . $value["Surname"] . ", " . $value["Group Name"] . "<br>";
}
?>
вот мой JSON объект
{"Title":"Mr","First Name":"12","Surname":"12","Group Name":"as"}
Использование PHP скрипку Я создал и проверил этот скрипт, который отлично работает
<?php
$someJSON = '[{"name":"Jonathan Suh","gender":"male"},{"name":"William Philbin","gender":"male"},{"name":"Allison McKinnery","gender":"female"}]';
// Loop through Array
$someArray = json_decode($someJSON, true); // Replace ... with your PHP Array
foreach ($someArray as $key => $value) {
echo $value["name"] . ", " . $value["gender"] . "<br>";
}
?>
Одна вещь, которую я заметил, это мой php fidle json file имеет [] опубликованный объект, это не то, что относится к сообщению об ошибке? Или должен ли я не JSON.stringfy() и просто передать его как строку в php и использовать JSON_encode?
спасибо за любую помощь
Дамп переменной и посмотрите, что вы получаете. 'Var_dump ($ _ POST [ 'my_json_data']);' –
Он содержит HTML, а 'Title' = > строка 'Mr' (длина = 2) 'Имя' = > строка<Цвет шрифта = '# cc0000'><цвет шрифта = '# 888a85'> '12' (длина = 2) «Фамилия ' = > строка' 12 ' (length = 2) 'Название группы' <цвет шрифта = '# 888a85'> = > строка<цвет шрифта = '# cc0000'> 'как' (длина = 2) – user2247671