2014-10-09 75 views
-2

我有这段代码调用buy.php并进行购买并显示结果。Jquery获取响应数据错误

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!'; 

OR

echo 'Purchase Failed!'; 

store.php呼吁buy.php我得到

Jquery Makes a get request

这表明,jQuery的做使一个GET请求不buy.php,但网页本身(store.php),当我拨打团购功能上当前页面的重复内容。为什么它这样做?任何帮助?

回答

2

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是一个数字),但是这是一个很好的习惯,因为它对于字符串非常重要。

+2

发布问题之前@AsheshKumar你需要一些R&d你的问题是很多时候问的问题,可能是downvote为什么 – 2014-10-09 09:48:38

+0

不好意思,说,但我不明白你的英语。 – 2014-10-09 09:50:10

+0

@AsheshKumar:基本上他在说:第一步是查看你正在使用的文档和例子。在这种情况下,您可能已经看到它是“url”而不是“URL”。当然,如果你不知道JavaScript是区分大小写的,你甚至可能没有注意到这些文档。 – 2014-10-09 09:53:18

0

尝试改变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); 
      } 
     }); 
} 
+0

@AsheshKumar我不知道我不会downvote – 2014-10-09 09:44:24

0

选项方法尝试的类型应该和你的URL必须是URL。

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


    }