2013-10-12 7 views
0

Я довольно незнакомый с JSON, поскольку я не использовал его слишком много, и я пытаюсь изучить его.jQuery.parseJSON problem

Так у меня есть AJAX запрос, который дает мне это: [{"palvelu_id":"1","palvelu_nimi":"Meikkikoulutus","palvelu_kuvaus":"Kuvaus","palvelu_hinta":"10"}]

И я пытаюсь использовать jQuery.parseJSON, чтобы использовать его на одной странице.

var palveluData = $.parseJSON(d); 
$("#ajanvarausInfo").html(palveluData.palvelu_kuvaus+"<br>"+palveluData.palvelu_hinta); 

Но я не знаю, как ответить, что я делаю неправильно здесь?

+0

публикуйте вашего кода. Он может быть автоматически проанализирован. – Blazemonger

+0

@Blazemonger Если я 'console.log (d)' I get '[{" palvelu_id ":" 1 "," palvelu_nimi ":" Meikkikoulutus "," palvelu_kuvaus ":" Kuvaus "," palvelu_hinta ":" 10 "} ] ' –

+0

Пожалуйста, разместите свой код Ajax. – Blazemonger

ответ

1

Вы должны получить первый элемент массива:

$("#ajanvarausInfo").html(palveluData[0].palvelu_kuvaus+"<br>..."); 

Если массив имеет более чем 1 элемент, который вы должны перебирать массив, вы можете использовать JQuery $.each() функцию полезности.

+0

Так что мне вообще не нужно использовать '.parseJSON'? –

+0

@Christian Это зависит, если вы используете jQuery для получения JSON, вы можете установить свойство 'dataType'' json', тогда вам не нужно разбирать ответ. – undefined

+0

Да, я использую jQuery для вызова ajax, а php возвращает строку json. –

0

EDIT ::

Ого, выглядит как ив держал окно открытым для долго, прежде чем ответить -.-

У вас есть массив Outter там, так что вы должны принять это во внимание (ваша сторона PHP может быть не исправить)

$("#ajanvarausInfo").html(palveluData[0].palvelu_kuvaus+"<br>"+palveluData[0].palvelu_hinta); 

Обычно вам не нужно, что при правильной настройке все вверх

$.ajax ({ 
    url: 'myurl', 
    type: 'POST', 
    data: { key_value pairs here }, 
    dataType: 'json', 
    success: function(response){ 

     $("#ajanvarausInfo").html(response.palvelu_kuvaus+"<br>"+response.palvelu_hinta); 

    }); 
}); 

На стороне PHP

$response = array(
    "palvelu_id" => "1", 
    "palvelu_nimi" => "Meikkikoulutus", 
    "palvelu_kuvaus" => "Kuvaus", 
    "palvelu_hinta" => "10" 
); 

echo json_encode($response); 
+0

Мой php просто отлично. Просто базовый запрос PDO для MySQL и json_encode для '$ smt-> fetchAll()'. –

Смежные вопросы