Jquery Ajax加载方法

时间:2013-03-03 14:44:37

标签: jquery ajax

全部,原谅我,我是jquery的新手。我发现在jquery load api中没有更多关于这个api的细节。 这是我从中得到的东西,我有一些关于它的问题。请查看它。

此api包含这些用于进行ajax调用的方法。

  • $('#result').load('ajax/test.html'); // ajax加载一个html文件,它使用 Get方法。
  • $('#result').load('ajax/test.html .someclass'); // ajax加载 从html文件中选择的内容。
  • $('#result').load('ajax/test.html', function() { alert('Load was performed.');}); //成功时回电。
  • $(document).ready(function(){ $("input").keyup(function(){ txt=$("input").val(); $("span").load("/jquery/gethint.asp",{suggest:txt}); }); }); //我不确定这个data是什么意思。服务器端如何获得此data

到目前为止,当数据是一个字符串时,我没有找到这个例子,该字符串将通过jquery作为参数添加到url中。我希望有人也可以为我说明一些代码。谢谢。

更新

请注意load api始终使用serialize方法将UI输入值格式化为json。感谢。

2 个答案:

答案 0 :(得分:2)

jQuery $.load()中的data可以通过这些方式提供。

  • 作为JSON对象。

    data: {"foo": "bar"}
    
  • 作为字符串

    data: "foo=bar"
    

您可以同时使用这两种方式。第一个是对象方式。


对于您的四个问题:

  • 是的,你是对的。它使用GET方法。
  • 来自HTML文件,以及该特定类的HTML。不确定是否接受了类,但我使用了ID。
  • 是的,你是对的。完成AJAX请求后执行一些JavaScript。
  • 上面解释了此data

服务器端脚本

<强> PHP

<?php
  if (!isset($_GET['foo']) && $_GET['foo'] == "bar")
    die("true");
  else
    die("false");
?>

<强> ASP

<%
  IF Request.Form("foo") = "bar" Then
    Response.Write "true"
  ELSE
    Response.Write "false"
  END IF
%>

答案 1 :(得分:1)

在jQuery中使用Ajax有不同的方法,基本的是.ajax()。

以下是一些有用的速记方法:http://api.jquery.com/category/ajax/shorthand-methods/

这些方法与ajax的作用相同,只是语法更简单,并且预先配置为执行特定任务。

我不确定我理解你的问题,但我会回答你提问的任何问题:

  1. 如果要将参数发送到服务器,可以使用load函数的第二个参数发送参数,如下所示:

    $('#result').load('ajax/test.html', {prop:val, prop2:val});
    

    这些道具将添加到您的请求中(根据配置通过get或post方法)

  2. 如果您希望将服务器中的数据接收到参数中,请使用以下命令:

    $('#result').load('ajax/test.html', function(data){ console.log(data); });
    

    在这种情况下,function是一个请求完成后运行的回调,数据包含来自服务器的响应的所有内容。