【问题标题】:ajax jquery returns the whole pageajax jquery 返回整个页面
【发布时间】:2015-08-17 09:40:33
【问题描述】:

之前有人问过这个问题,但答案似乎对我不起作用。当我执行自动完成搜索时,我的 Ajax 会返回整个页面

ajax 从数据库中搜索

$(function(){ $(".search_keyword").keyup(function() { 
var search_keyword_value = $(this).val();
var dataString = 'search_keyword='+ search_keyword_value;
if(search_keyword_value!='')
{
    $.ajax({
        type: "POST",
        url: "/ajax/search.php",
        data: dataString,
        cache: false,
        success: function(html)
            {
                $("#result").html(html).show();
            }
    });
} else{
    document.getElementById('result').innerHTML ='';
}
return false;    });

html页面

<form method="get" action="/?page=results" class="navbar-form" autocomplete="off">
        <input type="text" name="query" class="search_keyword"/>
        <button type="submit" nam>Search</button>
    </form>
    <div id="result"></div>

非常感谢大家的帮助

【问题讨论】:

  • search.php 呢?显示search.php 代码。
  • 天哪,我是个傻瓜,感谢 Indrasinh Bihola 让我意识到我的错误,我的 search.php 拼写错误。谢谢人
  • 如果找不到ajax路径,则返回整个页面

标签: php jquery ajax return-value


【解决方案1】:

检查你调用的页面路径是否正确...

仅由于 404 错误,它将返回整个页面。可能是找不到ajax url

【讨论】:

    【解决方案2】:

    ajax 中使用的 url 应该只用于返回(回显)所需的数据,没有别的。 我通常会通过将“动作”POST 传递到 php 页面来解决这个问题,该页面包含我想从它请求的内容,并通过开关选择它。 php 代码通常如下所示:

    if(isset($_POST["action"]))
    {
        switch(action){
          case "func_1":
                func_1();
                break;
          case "func_2":
                func_2();
                break;
          case "func_2":
                func_3();
                break;
          case "func_2":
                func_4();
                break;
        }
    } else {
        echo "error";
    }
    
    function func_1{
        //do something
    }
    function func_2{
        //do something
    }
    function func_3{
        //do something
    }
    function func_4{
        //do something
    }
    

    在函数内部我编写了所需的代码,比如获取自动完成数据,然后通过 json 回显它,或者其他的。

    此外,ajax 'data' 标签能够通过预构建字符串来执行 html 发布/获取参数:

    $.ajax({
            type: "POST",
            url: "/ajax/search.php",
            data: 
            {
                search_keyword : search_keyword_value
            }
            cache: false,
            success: function(html)
            {
                $("#result").html(html).show();
            }
    });
    

    【讨论】:

      猜你喜欢
      • 2011-02-04
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2015-07-15
      相关资源
      最近更新 更多