Javascript 调用类似于$.get in$.ajax的函数

Javascript 调用类似于$.get in$.ajax的函数,javascript,ajax,jquery,Javascript,Ajax,Jquery,我有以下代码: $.get(url, {}, checkResponse) 以及以下功能: function checkResponse(content) {} 这里的参数“content”是“get”的结果。我想实现$.ajax,以便能够在跳转到下一段代码之前等待流程完成。我尝试了以下代码,但没有成功 $.ajax({ async: false, type: 'GET', url: url, success: function (data) {

我有以下代码:

$.get(url, {}, checkResponse)
以及以下功能:

function checkResponse(content) {}
这里的参数“content”是“get”的结果。我想实现
$.ajax
,以便能够在跳转到下一段代码之前等待流程完成。我尝试了以下代码,但没有成功

$.ajax({
    async: false,
    type: 'GET',
    url: url,
    success: function (data) {
        alert(data.toString());
        checkResponse(data);
    },
    error: function (data) {
        alert("error");
    }
});

下面是发生的情况,
data.toString()
的警报给出了空字符串值,而它应该给我url页面内容,当它点击警报后,它跳转到错误部分并显示警报“error”.

根据评论部分的讨论,您试图向internet上的任意URL发送跨域AJAX调用。由于浏览器内置的限制,这是不可能的


可能的解决方法包括使用或,但由于您将向无法控制的任意URL发送请求,因此它们可能不是一个选项。在这种情况下,唯一可行的解决方案是编写一个服务器端脚本,作为网桥托管在域上。此脚本将接收url作为参数,并向此url发送HTTP请求以检索结果。然后它将简单地将结果返回给响应。最后,您将向自己的服务器端脚本发送一个AJAX请求。

您需要指定所需的数据类型,如:;json,html。为此,请使用
contentType
,此外,有关调用和返回内容的更多代码将有助于解决您的问题。这里有一些帮助,只有当您的服务器端脚本写得不好,并且没有设置正确的内容类型时,才需要指定数据类型。如果服务器端脚本设置了正确的内容类型,jQuery能够自动推断并相应地解析响应。@m90,因为他不想再使用AJAX了。他想将
async
参数设置为
false
,并通过冻结浏览器和整个AJAX点来彻底破坏用户体验。使用
$.get
无法将
async
参数设置为
false
$.get
始终是异步的,这就是AJAX的本意。你能使用像Fiddler这样的工具发布HTTP响应吗?天哪:
$.AJAX({async:false,键入:'get',url:url})。完成(checkResponse)请注意,某些请求(如jsonp)只能是异步的,而这种方法通常是个坏主意。我解决了我的问题,但不知道这样做是否正确,我使用了.load()方法,它检索结果时一点问题也没有。这是一个好的解决方案。
.load
仍然使用AJAX,并且仍然受到同源策略的限制。如果代码有效,可能是因为您向支持CORS的url发送了请求。它不会与其他不支持它的站点一起工作。