将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()文档 。