如果没有以下功能,$ .get将无法执行

时间:2011-12-24 21:07:14

标签: jquery get

自从我完成任何jQuery / js之后已经有很长一段时间了,傻傻的$ .get()给了我一些问题。我处于一个纯粹的测试阶段,只想使用$ .get来返回一个json编码的字符串。

这就是我想要使用的内容:

<script>
  function send_address(){
    $.get("tester3.php", function(data){
    alert("Data Loaded: " + data);
    });
  }
</script>

然而,我可以获得响应的唯一方法是使用它(它按顺序执行,但我知道这是异步调用的结果,并不是问题):

<script>
  function send_address(){
    $.get("tester3.php", function(data){
      alert("Data Loaded: " + data);
      });
    alert('here');
  }
</script>

我只想向“tester3.php”发送一个get请求,看看返回的字符串,而不必放入警报。

谢谢,节日快乐!

更新: 这是调用函数的html:

<form id="maps_check" class="niceform">
  <fieldset>
    <input type="submit" value="Submit" onclick="send_address()"/>
  </fieldset>
</form>

2 个答案:

答案 0 :(得分:0)

如果您在点击或提交活动时呼叫send_address,我认为您应该尝试返回false

function send_address(){
   $.get("tester3.php", function(data){
      alert("Data Loaded: " + data);
   });
   return false;
}

您也可以使用preventDefault()取消默认操作:

function send_address(e) {
   // cancel the action when clicking on a link
   e.preventDefault();
}

答案 1 :(得分:0)

使用回调功能

<script>
    function send_address(callback){
        $.get("tester3.php", function(data){
            callback(data);
        });
    }
</script>

以这种方式使用您的回复数据

send_address(function(data) {
    // data contains your ajax result
    $("#where-you-want-it").html(data); // Depending on what and how you want to use it.
});

回调只会在异步调用完成后执行。