0

当我点击按钮时,我想要文本输入数据发布或进入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但在页面 echoNO而不是OK.

4

2 回答 2

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 done函数中显示你的消息

利用:

 alert(msg);

代替

  alert("Ok");
于 2013-09-07T10:15:24.600 回答
1

您正在对同一页面进行 AJAX 调用,这意味着您将同一页面的内容作为响应获取,它将在您的msg字符串中,或​​者当您使用success函数时,您也会得到它。

在该响应中,您将得到OK显示。

AJAX 实际上是给您响应该页面应该向浏览器发送内容的内容。因此,如果您打算OK在页面中显示,则必须使用查询字符串参数加载此页面。

要在页面上显示 OK,您应该在浏览器的地址栏中键入以下内容。 http://YOUR_PAGE_URL?name=anything

单击此处查看有关 AJAX 的更多详细信息。

于 2013-09-07T10:15:31.600 回答