请向我解释$ .get()函数

时间:2013-05-12 00:02:54

标签: javascript jquery ajax http-get

$.get("test.php", function(data) {
    alert("Data Loaded: " + data);
});

在请求test.php后,我究竟能在回调函数的数据参数中得到什么?

其次,如果我在test.php中查询我的数据库,我需要将查询的值传递给我的回调函数中的参数数据的代码是什么类型的?

我对发送请求与请求成功后执行的回调函数'获得'之间的联系感到困惑。

4 个答案:

答案 0 :(得分:4)

$.get()对您使用HTTP方法GET指定的任何URL进行AJAX调用。服务器端脚本返回的数据是您在成功回调的data参数中获得的数据。

success回调仅在服务器端脚本返回响应后触发。如果脚本发送Content-Type: application/json,则jQuery会将响应解析为JS对象,以便data不是字符串,而是对象。

$.get只是$.ajax()的简写,可让您进行更精细的控制:

$.ajax({
  type: GET,
  url : 'test.php',
  success : function(data) {
    console.log(data);
  }
});

进一步阅读:

jQuery.get()
jQuery.ajax()
Getting started with AJAX

答案 1 :(得分:4)

根据official jQuery documentation.get()发出HTTP GET请求以从服务器检索数据。

由于请求是客户端,如果您请求例如test.php的内容,您将收到的数据是运行后的脚本的输出,即,会在响应中收到任何PHP源代码;您收到的数据与您离开并直接访问该页面的数据完全相同(除非您传递了包含该页面请求的其他数据)。

例如,如果您使用此代码:

$.get("test.php", function(data) {
  alert("Data Loaded: " + data);
});

并且您的test.php文件包含以下内容:

<?php
    echo "hello";
?>

然后您的提醒将显示以下文字:

  

数据加载:你好

此外,如果您想传递其他参数,可以这样做:

$.get("test.php", { name: "John", time: "2pm" }, function(data) {
    alert("Data Loaded: " + data);
});

然后在test.php

echo $_GET['name'];

答案 2 :(得分:1)

使用HTTP GET请求从服务器加载数据。

http://api.jquery.com/jQuery.get/

这是向服务器发送简单GET请求的简单方法,无需使用更复杂的$ .ajax函数。它允许指定一个回调函数,该函数将在请求完成时执行(并且仅当响应具有成功的响应代码时)。如果您需要同时具有错误和成功回调,则可能需要使用$ .ajax。

答案 3 :(得分:0)

数据来自PlainObject或String类型。问题的第二部分已经回答了。