JQuery Ajax GET基础知识

时间:2010-01-19 13:49:41

标签: jquery ajax get

我再次 - 对不起 - 我正在努力“自学”一些基本的Jquery Ajax到目前为止这么好,但是......对人们来说没有冒犯,有时答案非常特定于请求 - 很棒,但可能不是对于其他人有帮助,因为快速谷歌搜索可能会变得复杂。我有很多,但这是我坚持的简单事情。试试这个。一个简单的.click事件,并使用JQuery Ajax。在div中显示ajaxed页面的结果。

<a href="?abc=1"  id="idoflink">Try this link to get results</a>
<div id="testit"></div>

然后是Jquery / Ajax

$(document).ready(function(){

$('#idoflink').click(function() {   

 var idoflinkvaliable = $("#idoflink");

    $.ajax({
    cache: false, type: "GET", url: "tryit.php", data: "test=" + idoflinkvaliable,
    complete: function(data){ $("#testit").html(data.responseText); }

    });

    return false;
});
}); 

我知道它是不对的 - 它不起作用我得到[object Object] - 所以whicj位错了,我的猜测是定义变量?我知道这只是一个简单的例子,但正如我所说的那样,我正在尝试自学 - 知道PHP向后 - 而且我在谷歌上发现的很多内容都超出了这个范围,所以你的答案可能不仅仅对我有所帮助,而且还有很多其他人希望。谢谢你。

5 个答案:

答案 0 :(得分:1)

不要通过$.ajax();这样的事情。手头的任务过于复杂。此外,看起来你期待你的回调外观的json。在这种情况下,我建议您改为使用$.getJSON();

$("#myLink").click(function(e){
  e.preventDefault();
  $.getJSON("tryit.php", { 'test':$(this).attr("id") }, function(data){
    // do something with data
    $(data).each(function(){
      $("#testit").append(this);
    });
  });
});

另外,请确保从PHP脚本发送正确编码的JSON:

$values = array("red","green","blue");
print json_encode($values);

答案 1 :(得分:1)

$("#idoflink").attr("href")会从您的链接中获得?abc=1。您可以将其附加到网址:

$(document).ready(function(){

  $('#idoflink').click(function() {   

    var idoflinkvaliable = $("#idoflink");

    $.ajax({
      cache: false,
      type: "GET",
      url: "tryit.php" + $("#idoflink").attr("href"),
      success: function(data){
        $("#testit").html(data.responseText);
      }
    });

    return false;
  });
});

答案 2 :(得分:0)

上面的答案假设您正在返回JSON编码的数据。如果你不是(它看起来像你的用法,你想要返回原始HTML而不是JSON数据):

你可以看一下:JQuery AJAX Samples。但看起来你应该使用成功事件而不是完整事件:

$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
    alert( "Data Saved: " + msg );
  }
});

希望这会有所帮助。另一件事是你的PHP脚本也返回正确的数据。

答案 3 :(得分:0)

这样的事情应该有效:

var href = $("#idoflink").attr("href");
if (href.indexOf("?") == 0 ) {
     href = href.substring(1, href.length() - 1);
}
$.ajax({   
cache: false, type: "GET", url: "tryit.php", data: href,   
success: function(data){ $("#testit").html(data.responseText); }   

}); 

答案 4 :(得分:0)

对不起朋友们,但我想我根本不会很好地解释自己。没有任何答案可以解释对我强调对我如何做到这一点。一个基本问题有4个完全不同的答案。

我讨厌这个问题很简单 - 从一个href获取一个变量,即通过JQuery / ajax将该变量传递给另一个页面,然后将结果返回到原始页面上的div。在php中它很简单,即if(isset($_GET['nameofvariable']): // do this // endif;

我在接收页面上用简单的echo $_GET['nameofvariable'];尝试了上面的所有答案,但没有一个能给我正确的结果 - 抱歉。