简体   繁体   中英

How to return multiple values / array from an ajax call?

I was wondering what the proper method for passing multiple sets (strings) of data back after processing a ajax call in php.

I know echo is used to send a string of data back, but what if I want to send multiple strings? and also how do I handle those string in- success: function(html){} ?

Encode result array in JSON format and return the response.

<?php
$arr = array ('response'=>'error','comment'=>'test comment here');
echo json_encode($arr);
?>

//the script above returns this:
{"response":"error","comment":"test comment here"}

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "process.php",
    data: dataString,
    dataType: "json",
    success: function (data) {
        if (data.response == 'captcha') {
            alert('captcha');
        } else if (data.response == 'success') {
            alert('success');
        } else {
            alert('sorry there was an error');
        }
    }

}); 
</script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM