从现有的javascript写jquery.ajax

时间:2011-05-12 21:13:37

标签: javascript jquery ajax

我找到了这篇文章: http://msdn.microsoft.com/en-us/library/dd251073.aspx

我怎么能用jquery.ajax写“get”请求?

3 个答案:

答案 0 :(得分:1)

您可以使用.get()方法。

答案 1 :(得分:0)

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

或者只使用常规$ .ajax()方法(http://api.jquery.com/jQuery.ajax/),默认为GET请求。

答案 2 :(得分:0)

这取决于Bing的API是否遵循用于指定JSONP回调的标准?callback=function方法,但如果是这样,那么Search()函数的简化版本应该这样做:

// Bing API 2.0 code sample demonstrating the use of the
// Spell SourceType over the JSON Protocol.
function Search()
{
        var requestStr = "http://api.bing.net/json.aspx?"

        // Common request fields (required)
        + "AppId=" + AppId
        + "&Query=Mispeling words is a common ocurrence."
        + "&Sources=Spell"

        // Common request fields (optional)
        + "&Version=2.0"
        + "&Market=en-us"
        + "&Options=EnableHighlighting"

        $.getJSON(requestStr, SearchCompleted);
}

请记住,这两种方法都不会直接触发GET,就像您可能习惯使用XMLHttpRequest向本地服务器发出的AJAX请求一样。

为了规避对XHR的跨域限制,JSONP通过在文档中注入一个新的脚本元素,然后导致浏览器加载(通过GET)并执行该远程脚本来工作。该远程脚本的内容是对回调函数的单个函数调用,其中整个JSON有效负载作为其参数。


如果这不起作用,包括那些Bing特定的回调选项应该与jQuery结合使用:

// Bing API 2.0 code sample demonstrating the use of the
// Spell SourceType over the JSON Protocol.
function Search()
{
        var requestStr = "http://api.bing.net/json.aspx?"

        // Common request fields (required)
        + "AppId=" + AppId
        + "&Query=Mispeling words is a common ocurrence."
        + "&Sources=Spell"

        // Common request fields (optional)
        + "&Version=2.0"
        + "&Market=en-us"
        + "&Options=EnableHighlighting"

        // JSON-specific request fields (optional)
        + "&JsonType=callback"
        + "&JsonCallback=SearchCompleted";

        $.getJSON(requestStr);
}

请记住,在这一点上(以及之前),你并没有真正使用jQuery本身。尽管$.getJSON()$.ajax()$.get()看起来像是在做比MSDN示例更强大的事情,但jQuery在这种情况下会做同样的事情(注入一个脚本元素)其src指向requestStr)。