我希望当我单击按钮时,文本输入数据发布或same page
输入在其中。 我有以下代码:
$(document).ready(function () {
$("#btn_ok").click(function(){
$.ajax({
type: "GET",
url: "test.php",
data: { name :$("#name").val() , }
}).done(function( msg ) {
alert("Ok");
});
});
});
<?php
if(isset($_GET["name"]))
{
echo "OK";
}
else
echo "NO";
?>
<input type="text" id="name" />
<input type="button" id="btn_ok" />
Ok alert is shown
但是在页面上回显NO
而不是OK
.
1.您不应该调用same page
因为 ajax 调用不会执行(刷新)同一页面 您必须调用具有PHP代码的另一个页面
页1.php
$(document).ready(function () {
$("#btn_ok").click(function(){
$.ajax({
type: "GET",
url: "page2.php",
data: { name :$("#name").val() , }
}).done(function( msg ) {
//alert("Ok")
alert(msg); //You have need a change here to see
//response from page2.php
});
});
});
<input type="text" id="name" />
<input type="button" id="btn_ok" />
页2.php
<?php
if(isset($_GET["name"]))
{
echo "OK";
}
else
echo "NO";
?>
2.您没有在 ajax 完成函数中显示您的味精
用:
alert(msg);
而不是
alert("Ok");
您正在对同一页面进行 AJAX 调用,这意味着您获取同一页面的内容作为响应,它将在您的msg
字符串中,或者当您使用success
函数时,您也会得到它。
在该响应中,将显示OK
。
AJAX实际上是给你响应该页面应该将内容发送到浏览器的内容。因此,如果您打算在页面中显示OK
,则必须使用查询字符串参数加载此页面。
要在页面上显示"确定",您应该在浏览器的地址栏中键入以下内容。 http://YOUR_PAGE_URL?name=anything
请单击此处查看有关 AJAX 的更多详细信息。