-3

它有点不清楚 Javascript 内部是如何执行请求的。我知道它没有使用内置

浏览器 XMLHttpRequest,但它是如何做到的呢?阅读有关 stackoverflow 的文章,他们只需创建一个 Javascript

对象并设置 var obj = document.createElement('script'); obj.src = " http://somedomain.com?blabla=yes "

使用 JavaScript 执行没有 AJAX 的 GET 请求

这里来自 jQuery:

 $.ajax({
        type: 'GET',
        url: url,
        async: false,
        jsonpCallback: 'jsonCallback',
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(json) {
            console.log("console. hurra");
        },
        error: function(e) {
            console.log(e.message);
        }
    });

你知道 jQuery 是如何在 Javascript 内部构建请求并提交的吗?

我在本地尝试了这个,它就像脚本被正确插入到我的页面中一样。var CampaignNs = {

GET: function(url) {
    var head = document.getElementsByTagName('head')[0];
    var n = document.createElement('script');
    n.src = url;
    n.type = 'text/javascript';
    n.onload = function() { // this is not really mandatory, but removes the tag when finished.
        head.removeChild(n);
    };
    head.appendChild(n);
}

}

我提前谢谢

好文章在这里:http: //johnnywey.wordpress.com/2012/05/20/jsonp-how-does-it-work/#comment-359

4

1 回答 1

0

使用 XHTTPRequest 或插入标签都是触发 GET 请求的有效方法。XHTTPRequests 在许多方面都更干净,因为它们不涉及在 DOM 中乱搞。

它有点不清楚 Javascript 内部是如何执行请求的。我知道它没有使用内置

浏览器 XMLHttpRequest,但它是如何做到的呢?

这是没有意义的。JavaScript(即浏览器中的 JavaScript 实现)不需要依赖 XHTTPRequest,它只是在需要执行请求时调用浏览器的 HTTP API。除了通过 XHTTPRequest 之外,它不需要这样做 :-)

于 2013-02-06T14:54:13.647 回答