我希望当我点击按钮时,文本输入数据发布或转到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
。
答案 0 :(得分:2)
1.您不应该致电same page
因为ajax调用不会执行(刷新)同一页面
你必须调用另一个你有php代码的页面
page1.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" />
使page2.php
<?php
if(isset($_GET["name"]))
{
echo "OK";
}
else
echo "NO";
?>
2.你没有在ajax完成功能中显示你的消息
使用:
alert(msg);
而不是
alert("Ok");
答案 1 :(得分:1)
您正在对同一页面进行AJAX调用,这意味着您将获得同一页面的内容作为回复,并且它将位于您的msg
字符串中或当您使用success
函数时,那么您也是得到它。
在该回复中,您将显示OK
。
实际上,AJAX会让您回复该页面要将内容发送到浏览器的内容。因此,如果您计划在页面中显示OK
,则必须使用查询字符串参数加载此页面。
要在页面上显示确定,您应在浏览器的地址栏中输入以下内容。
http://YOUR_PAGE_URL?name=anything
请click here查看有关AJAX的更多详情。