当前位置: 首页 > 知识库问答 >
问题:

对web服务的跨域请求使用jQuery返回JSON

魏威
2023-03-14

我正在尝试从www.mysite上的ASPX页面向web服务发出请求。com使用jQuery。

我的Web服务托管在https://www.mysite2.com.

我已尝试以这种方式执行请求(我在网上找到了部分代码):

$.ajax({
    url: "https://www.mysite2.com/ws/api/Visits/List/" + myfilter,
    type: 'GET',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    beforeSend: setHeader,
    crossDomain: true,
    success: function (data) {
        response($.map(data.visits, function (v, i) {
            return {
                label: v.ID,
                value: v.Name
            }
        }))
    },
    error: function () {
        alert('Error!');
    },
})

function setHeader(xhr) {
    xhr.setRequestHeader('X-Token', 'myToken0123');
}

我遇到两个问题:

1)IE返回拒绝访问错误(代码0x80070005)

2) Chrome返回“不安全响应”错误

返回的JSON将用于填充自动完成源。

有什么解决这个问题的建议吗?

共有2个答案

阎裕
2023-03-14

如果你去https://www.mysite2.com,它将告诉您此服务器无法证明它是www.mysite2。通用域名格式;其安全证书来自*。霍克霍斯特。通用域名格式。这可能是由错误配置或攻击者造成的。

你可以接受这一点,你将不再看到你的问题。然而,您的每个用户都必须这样做。

长孙硕
2023-03-14

如果这是一个跨域请求,那么你需要联系负责服务器的人,并要求他们将你的域名添加到他们的列表中。这是他们需要添加到服务器的代码,http://foo.example是您的域。

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER
Access-Control-Max-Age: 1728000
 类似资料:
  • 问题内容: 对于一个项目,我需要获取其他不同域的网页的源代码。我尝试了以下代码: 我仍然没有得到任何结果,只是一个空白的警告框。 问题答案: 默认情况下,所有浏览器都限制跨域请求,您可以使用YQL作为代理来解决此问题。在此处查看指南:http://ajaxian.com/archives/using-yql-as-a- proxy-for-cross-domain-ajax

  • 问题内容: 我正在尝试向不受控制的域上的API发出一个简单的JSON获取请求。 我的代码很简单: 但这是跨域请求,因此我在Chrome控制台中收到此错误: 当我尝试添加参数时,控制台将返回此错误: 未捕获到的SyntaxError:意外令牌: 但是,当我检查Chrome中的“网络”标签时,我看到“标题”下的状态代码为200 OK,实际上我可以在“响应”标签中看到完整的响应,但控制台仍显示“意外令牌

  • 问题内容: 帮助,如果您可以- 情况: http://foobar.com包含一个远程托管的Javacript文件(http://boobar.com/stuff.js)。 目标是从foobar.com上的远程托管php脚本中获取警报 我在stuff.js中尝试了以下代码: 没运气。 也没有运气。 在php端,我尝试了以下两种方法: 在Firefox中,出现安全错误。我了解它认为我违反了安全模型。

  • 问题内容: 我正在尝试从jQuery客户端访问wcf服务 具体来说,此示例 http://www.codeproject.com/KB/aspnet/WCF_JQUERY_ASMX.aspx#4 当客户端网页与服务位于同一域时,所有方法都可以正常工作 一旦我将客户端网页移到另一个域,它就会中断。无法到达服务,请求失败 所有示例(ASMX,REST和WCF)都会发生这种情况 任何想法如何使这个跨岛工

  • 问题内容: 我想用以下代码用jquery ajax解析JSON数组数据: 我的JSON数据是: 但是我没有任何输出…任何人请帮忙… 问题答案: 概念解释 您是否正在尝试进行跨域AJAX调用?意思是,您的服务不在同一Web应用程序路径中托管吗?您的Web服务必须支持方法注入才能执行JSONP。 您的代码看起来不错,并且如果您的Web服务和Web应用程序托管在同一域中,则该代码应该可以正常工作。 当您

  • 我制作了一个具有三个路径参数的POST web服务。 但当我尝试通过url请求此web服务时,我得到HTTP状态405-不允许使用该方法 但是同样的方法有效,如果我将Web服务更改为@GET 请求URL: 这是我得到的回应 任何帮助将不胜感激!