MY js页面:
$m = 77;
var xhr = new XMLHttpRequest();
xhr.open("POST", "try.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("m=" + escape(m));
php页面:
$var = $_POST['m'];
echo $var;
当我调用php页面时没有任何反应!你能救我吗?
答案 0 :(得分:2)
您需要更改变量m以获得预期输出
m = 77; // here what i have changed from $m to m
var xhr = new XMLHttpRequest();
xhr.open("POST", "try.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("m=" + escape(m));
答案 1 :(得分:0)
你有两个问题。
在代码的顶部,您可以创建一个名为$m
的变量,但稍后您会尝试阅读m
。
如果您在浏览器的开发者工具中查看了控制台
,这将抛出一个您会发现的ReferenceError一旦您修复了该错误,您的代码就会发出请求......但您不会对响应做任何事情。
您应该为其添加一个加载事件侦听器。
function alert_response() {
alert(this.responseText);
}
xhr.addEventListener("load", alert_response);
escape
已弃用,因为它无法正常运行。请改用encodeURIComponent
。text/html
内容类型,通过回显用户输入而不进行修改或过滤,您很容易受到XSS攻击。采取措施为自己辩护。