php json_encode не возвращает правильную кодировку json

Я использую jQuery ajax-вызов, который принимает ответ json:

var posturl = '/admin/getparamdetails/'; var data = "adnetworkId="+adnetworkId; $.ajax({ type: "POST", url: posturl, data : data, datatype: "json", success: function(msg){ //$("#displayPramForm").html(msg); //alert('hello'+msg.length+' '+msg.hello.length); console.log(msg); if(msg!='') { alert(msg.hello); } }, failure: function(msg){} }); 

в моей функции php backend, я использую json_encode на простом массиве, как показано:

  $json_encoded_string = json_encode(array("hello"=>'abc')); echo $json_encoded_string; die; 

но alert (msg.hello) возвращает undefined для меня. Что здесь происходит? Кроме того, в моем console.log я могу получить вывод как:

 {"hello":"abc"} 

Используйте parseJSON для возвращаемых данных:

 if (msg) { msg = $.parseJSON(msg); alert(msg.hello); } 

вам необходимо отправить данные в виде Content-Type «application / json», иначе это не сработает.

Просто добавьте в свой PHP-файл следующее:

 header('Content-type: application/json');