[英]Trying to pass values from jquery to php file using XMLHttpRequest()
我正在尝试使用jQuery将HTML文本区域中的值传递给PHP文件。 这是我到目前为止:
JQuery的
var jq = $.noConflict();
jq("#addUsers").click(function () {
jq("#addModal").modal("show");
});
jq("#addUser").click(function () {
var text = jq("textarea#emails").val();
if (text.length == 0)
{
alert("Please enter new user e-mails line by line.");
}
else
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200)
{
jq("textarea#emails").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET", "add_users.php?emails=" + text + "&list=1", true);
xmlhttp.send(null);
}
});
add_users.php
<?php
//error_reporting(E_ALL);
ini_set('display_errors', '1');
$list = $_REQUEST["list"];
$emails = trim($_REQUEST["emails"]);
// This is where I will parse out the text line-by-line
// .....
?>
所以,这一切都是由第6行的点击功能激活的。但是当我这样做时, 没有任何反应 。 我尝试将echo语句几乎放到函数内的任何地方,并且它可以很好地进行呼应。 另外:
不知道我做错了什么。 请帮助!!
首先, jq("textarea#emails").innerHTML
不会起作用,因为你现在正处理一个jQuery包装元素,而不是原始的HTML元素。 如果你使用jQuery,你想用val()
或html()
设置内容(取决于元素)。
因此,您可以成功调用脚本,而不是在页面上输出结果。
您可以使用jQuery极大地简化您的ajax。 我将特别使用load()
,因为您的意图是将结果粘贴到元素中。
我将从这个开始:
jq("#addUser").click(function () {
var text = jq("textarea#emails").val();
if (text.length == 0)
{
alert("Please enter new user e-mails line by line.");
}
else
{
jq("textarea#emails").load("add_users.php?emails=" + text + "&list=1");
}
});
参考: http : //api.jquery.com/load/
一旦您的ajax查询成功运行,请检查您的开发工具网络选项卡(假设此处为Chrome)以观看ajax调用并查看服务器的响应方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.