Я создаю диаграмму Google, используя данные MYSQL через PHP. Ниже приведена часть jQuery.php JSON to JQuery
$.ajax({
method: 'GET',
//dataType: 'JSON',
url: "/php/abc.php",
success: function (data1) {
var data = new google.visualization.DataTable();
// Add legends with data type
data.addColumn('string', 'type');
data.addColumn('number', 'value');
//Parse data into Json
var jsonData = $.parseJSON(data1);
//var jsonData = (data1);
for (var i = 0; i < jsonData.length; i++) {
alert (jsonData[i].length);
alert (jsonData[i].type);
data.addRow([jsonData[i].type, parseInt(jsonData[i].value)]);
}
Я получаю ниже выхода из PHP, когда я проверить прямую страницу PHP в браузере
{"type":"New_Userstory","value":"10"}{"type":"Active_Userstory","value":"20"}{"type":"Resolved_Userstory","value":"30"}{"type":"Closed_Userstory","value":"40"}
но через JSON он не показывает ничего, говорит неправильный символ «{». Когда я использовал заголовок ('Content-Type: application/json'); или dataType: 'JSON', этот eror ушел, но результат "undefined" каким-либо другим способом получить этот JSON?
Это недействительно JSON, исходящий из вашего PHP. Покажите свой PHP-код. (Обратите внимание: вы не можете просто эхо json_encode несколько раз и ожидать, что он будет работать.) –
$ this-> temp_sql_display = "SELECT * FROM SalesSummary"; \t \t \t \t \t \t попробовать { \t \t \t \t \t \t \t \t $ результат = $ this-> hookup-> запрос ($ this-> temp_sql_display); \t \t \t \t в то время как ($ строка = $ result-> FETCH_ASSOC()) { \t \t \t \t \t $ этом-> = json_encode JSON ($ строка); \t \t \t \t echo $ this-> json; \t \t \t \t} \t \t \t \t \t \t} –
Да, это не будет работать. Вам нужно сгенерировать массив в цикле, затем после цикла json_encode массива. –