[英]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.