将XMLHTTPRequest转换为$ ajax

我使用以下代码在小工具中获取Google:

  Browser   
function getListCollection() { var url = "https://www.google.co.uk" xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET',url,true, 'user', 'password'); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4); { document.getElementById("listAttributes").innerHTML = xmlhttp.responseText } } xmlhttp.send(null); }

我想知道如何使用$ ajax做同样的事情?

我看了不同的例子,但我不知道他们将如何适应这种情况。 或者,如果你可以发布一些不错的$ ajax教程。

当我将其更改为此时,它不起作用:

   Browser   
$.ajax({ url : 'https://www.google.co.uk', type : 'GET', success : function(data){ $('#listAttributes').html(data); } });

页面上没有任何内容。

这是代码的jQuery版本:

 $.ajax({ url : 'https://www.google.co.uk', //cross-domain? this won't work username : 'user', password : 'password', type : 'GET', //default is GET, but i put it here to clarify success : function(data){ $('#listAttributes').html(data); } }); 

有关更多详细信息和设置,请阅读jQuery.ajax()文档

像这样的东西:

 $.ajax({ url : "https://www.google.co.uk", type : "get", username : "user", password : "password", success : function(data) { document.getElementById("listAttributes").innerHTML = data; } }); 

但是,由于您尝试访问外部资源(即不是您的域),因此您的代码很可能无法正常工作。

查看JQuery Ajax文档以获取更多详细信息。

 $.ajax({ url: url, username: 'user', password: 'password' }).done(function (responseText) { document.getElementById('listAttributes').innerHTML = responseText; //or $("#listAttributes").html(responseText); }); 

默认情况下, .ajax将使用GET方法并且是异步的,因此我省略了这些设置。 如果您不需要用户名/密码,我会使用$.get()

它比纯JavaScript版本更简单,更短,这里是:

 function getListCollection() { $.ajax({ url: "https://www.google.co.uk", username: "user", password: "password", success: function(data){ $('listAttributes').html(data); } }); } 

仅当站点支持跨域源时才接受该请求。 在这里查看jQuery.ajax()文档 。