3

I am using a jquery ajax call which accepts json response :

 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){}
    });

in my php backend function , I am using json_encode on a simple array as shown:

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

but alert(msg.hello) returns undefined for me. What is going wrong here ? Also , in my console.log I am able to get the output as :

{"hello":"abc"}     

2 Answers 2

2

Use parseJSON on the return data:

if (msg) {
  msg = $.parseJSON(msg);
  alert(msg.hello);
}
Sign up to request clarification or add additional context in comments.

Comments

1

you have to send the data as Content-Type "application/json", otherwise it won't work.

Just add the following in your PHP File:

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

1 Comment

It should be header('Content-Type: application/json');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.