Javascript Ajax调用一直被浏览器阻止

Javascript Ajax调用一直被浏览器阻止,javascript,jquery,html,Javascript,Jquery,Html,我有点被一个问题缠住了 我正在开发一个小型移动网站。我试图使用ajax调用调用Web服务,但浏览器一直阻止我的调用。如果我用标签启动Chrome。。。“--允许从文件访问文件--禁用web安全性​​" 然后电话就正常了,我没有任何问题 现在我的问题是,如果我主持网站,浏览器将阻止我的ajax调用,用户无法登录或检索信息 $.ajax({ async: true, beforeSend: function () {

我有点被一个问题缠住了

我正在开发一个小型移动网站。我试图使用ajax调用调用Web服务,但浏览器一直阻止我的调用。如果我用标签启动Chrome。。。“--允许从文件访问文件--禁用web安全性​​" 然后电话就正常了,我没有任何问题

现在我的问题是,如果我主持网站,浏览器将阻止我的ajax调用,用户无法登录或检索信息

$.ajax({
                async: true,
                beforeSend: function () {
                },
                complete: function () {  },
                type: 'POST',
                url: 'https://MySecretUrl.com/login?format=json',
                contentType: 'application/json',
                dataType: 'json',
                data: '{"UserId":"mySecretUserId","Password":"mysecretPassowrd"}',
                success: function (resultMessage) {
                    if (resultMessage.WasSuccessful == true) {
                        alert('YAY');
                    } else {
                        alert('Semi Yay');
                    }
                },
                error: alert('OOOOPS')
            });
有没有人知道一种在没有浏览器阻止ajax调用的情况下从webservice获取信息的解决方法

如有任何建议,将不胜感激

提前谢谢你的帮助

编辑

大家好,我做了更多的挖掘,发现了以下内容

当使用浏览器安全性发出请求时,调用会将POST更改为选项。这称为预飞请求。我发现的一个解决方法是,如果您正在进行GET调用,则可以使用jsonp作为数据类型。但现在我的问题是,它与POST不兼容。是否有不需要webservice t的修复程序你会改变吗

是否有不需要更改Web服务的修复程序

不可以。如果更改Web服务不是一个选项,那么您唯一的选择就是不使用浏览器发出此请求


您必须使服务器以跨域可接受的格式返回数据,或者不使用浏览器进行跨域请求。

这是跨域问题,请检查此问题:如果web服务位于其他域,则需要代理。代理在您的服务器上运行,并为您调用服务。是否使用“阻止”命令“你说得对吗?您的ajax设置为
async:true
,所以它不应该阻塞页面。你的意思是说你被解雇的不是成功而是错误?很好。看我的模棱两可。我得到了一个错误,而不是一个成功,但据我所知,电话是正确的。所以安德鲁很可能是对的,你做跨域帖子。您不能在这里使用jsonp,但您可以从页面发送
访问控制允许来源:yourclientsite.com
标题。嘿,谢谢您的回复。希望我能说服这里的高级开发人员更改一些Web服务…:)你似乎对这一切都很了解。我怎样才能不使用浏览器来调用Web服务呢?由于我们的高级开发人员不希望网站使用任何asp。您必须向与网页位于同一域的asp页面发送请求,然后该页面从服务请求数据。如果这不是一个选项,那么您可以使用一些公共代理服务,比如YQL