2016-05-25 3 views
-2

Я использую PHP для кодирования массива JSON строку, как это:Синтаксический JSON закодированные PHP массив с Javascript - неожиданный характер

$price['price'] = "20"; 
$price = json_encode($price) 
return $price; 

так, когда я доступ к скрипту я получаю эти данные:

{"price":"20"} 

Вот мой код JQuery/JavaScript:

$("#form_pickupDate_day").change(function() 
    { 
     var frm = $(document.form); 
     var data = JSON.stringify(frm.serializeArray()); 

     $.ajax 
     ({ 
      method: "POST", 
      url: "script.php", 
      data: {json : data }, 
      dataType: 'json', 
      cache: false, 
      success: function(json) 
      { 
       var obj = JSON.parse(json); 
        $("#form_price").val(obj.price); 
      } 
     }); 
    }); 

Я получаю ошибку в Firefox:

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data 

ответ

6

Весь смысл указывать dataType: 'json' в том, что jQuery проанализирует результаты для вас. Ваш json varaible уже содержит объект JavaScript. Вам не нужно разбирать его дважды.

Вы также не должны называть его «JSON», так как это не JSON в этой точке:

success: function(data) { 
    $("#form_price").val(data.price); 
} 
Смежные вопросы