带有jquery的ajax不起作用


ajax with jquery not working

我希望当我单击按钮时,文本输入数据发布或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 的更多详细信息。