微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何检索变量而不是echo

我刚开始学习Ajax,想知道如何获取PHP变量而不是echo i followed this.

ajax_PHP_code.PHP

echo 'Your name is '.$_POST['firstname'].''$_POST['lastname].'';

HTML / AJAX

function ajax_post(){
var hr = new XMLHttpRequest ();
var url = "ajax_PHP_code.PHP";
var fn = document.getElementById('first_name').value;
var ln = document.getElementById('last_name').value;
var vars = "firstname="+fn+"&lastname="+ln;
hr.open("POST", url, true);

hr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function(){
    if(hr.readyState == 4 && hr.status == 200){
        var return_data = hr.responseText;
        document.getElementById('status').innerHTML = return_data;
    }
}

hr.send(vars);
document.getElementById('status').innerHTML = "processing...";

}

<input type="text" id="first_name" name="first_name" placeholder="Namn"  />
<input type="text" id="last_name" name="last_name" placeholder="Efternamn"  />
<input type="submit" value="Skicka data" id="knapp" />
<div id="status">

这工作正常,但我想发送变量而不是回声是否可能?

解决方法:

通常的方法是让你的PHP发送回JSON,然后解析那个JSON客户端.

例如,在PHP中:

$data = array(
    firstname => $_POST['firstname'],
    lastname =>  $_POST['lastname']
);
header("Content-Type", "application/json");
echo json_encode($data);

然后是客户端,在你的ajax成功函数中:

var data = JSON.parse(hr.responseText);
// Now you can use data.firstname and data.lastname

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐