【问题标题】:Jquery Get Response Data ErrorJquery获取响应数据错误
【发布时间】:2014-10-09 09:38:29
【问题描述】:

我有这段代码调用buy.php 并进行购买并显示结果。

store.php

<h4 class="result">Result:</h4>
function buy(id) {
      $.ajax({
          method: "GET",
          URL: "buy.php?id="+id+"",
          success: function (data) {
              $(".result").html(data);
          }
      });


  }

buy.php

(经过多次检查终于)

echo 'Purchase Successful!';

    echo 'Purchase Failed!';

store.php 打电话给buy.php 我确实得到了

这表明 Jquery 确实不是向buy.php 而是向页面本身 (store.php) 发出获取请求,当我调用购买功能时,当前页面上的内容会重复。为什么这样做?有什么帮助吗?

【问题讨论】:

    标签: javascript php jquery html forms


    【解决方案1】:

    ajax 的 URL 选项是 url,而不是 URL。 JavaScript 区分大小写。

    function buy(id) {
        $.ajax({
            method: "GET",
            url: "buy.php?id="+id+"",
    // Here ^
            success: function (data) {
                $(".result").html(data);
            }
        });
    }
    

    旁注:如果id 是一个数字,您的代码将有效,但有更好的方法来提供id 值:使用data 选项:

    function buy(id) {
        $.ajax({
            method: "GET",
            url: "buy.php",             // <== change is here
            data: {id: id},             // <== and here
            success: function (data) {
                $(".result").html(data);
            }
        });
    }
    

    使用data 选项(如上的对象)的好处是jQuery 将确保参数正确地进行URI 编码。同样,数字无关紧要(如果 id 是数字),但这是一个好习惯,因为它对字符串非常重要。

    【讨论】:

    • @AsheshKumar 在发布问题之前,您需要针对您的问题进行一些研发,这是很多次提出问题,所以可能会被否决
    • 对不起,我听不懂你的英语。
    • @AsheshKumar:基本上他的意思是:第 1 步是查看您正在使用的文档和示例。在这种情况下,您可能已经看到它是 url 而不是 URL。当然,如果你不知道 JavaScript 是区分大小写的,你可能连查看文档都没有注意到。
    • @T.J.Crowder 我不知道 Jquery 区分大小写,那么为什么要投反对票呢?我今天盯着 Jquery!
    • @AsheshKumar:再次:永远不要假设你知道谁投了反对票。另外,抱怨投反对票绝不是建设性的。
    【解决方案2】:

    尝试将 URL 更改为 url 并将参数发送到数据并尝试使用文件的full url

    function buy(id) {
          $.ajax({
              method: "GET",
              url: "http://localhost/html/home/buy.php",//change according file location
              data:{'id':id},
              success: function (data) {
                  $(".result").html(data);
              }
          });
     }
    

    【讨论】:

      【解决方案3】:

      选项方法应该是type,你的URL需要是url。

      <h4 class="result">Result:</h4>
      function buy(id) {
            $.ajax({
                type: "GET",
                url: "buy.php?id="+id+"",
                success: function (data) {
                    $(".result").html(data);
                }
            });
      
      
        }
      

      【讨论】:

        猜你喜欢
        • 2012-02-22
        • 2016-05-29
        • 1970-01-01
        • 2010-12-10
        • 2017-05-09
        • 1970-01-01
        • 2011-09-24
        • 1970-01-01
        • 2011-04-27
        相关资源
        最近更新 更多