首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对WebService的jQuery调用返回"No Transport“错误

对WebService的jQuery调用返回"No Transport“错误
EN

Stack Overflow用户
提问于 2011-03-09 11:48:19
回答 7查看 169K关注 0票数 163

我有以下web服务;

代码语言:javascript
复制
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

这是普通的标准,不需要修改类装饰器。

我有这个jQuery方法;

代码语言:javascript
复制
var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; 

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    data: "{}",  
    dataType: "json",
    url: webMethod,
    success: function(msg){ alert(msg.d); },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(errorThrown);
          }
});

这是一个post操作,因为稍后我需要向它发送数据。

当我执行jQuery时,我得到一个返回的"No transport“错误。

我还应该提到的一件事是,jQuery在我的机器上存储在一个简单的HTML文件中,WebService也在我的机器上运行。

没有代码隐藏在超文本标记语言页面上,它只是一个网页,而不是一个c#项目或任何东西。

有没有人能给我指个方向?

EN

回答 7

Stack Overflow用户

发布于 2011-06-22 06:07:10

添加这个:jQuery.support.cors = true;

它支持jQuery中的跨站点脚本(我相信是在1.4x之后引入的)。

我们使用的是一个非常旧的jQuery版本(1.3.2),并将其替换为1.6.1。一切都正常,除了.ajax()调用。添加上面的行解决了这个问题。

票数 256
EN

Stack Overflow用户

发布于 2014-01-20 22:55:43

我在一个页面上遇到了同样的错误,我添加了以下几行:

代码语言:javascript
复制
<!--[if lte IE 9]>
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js'></script>
<![endif]-->

它终于对我起作用了;)在IE9中没有更多的错误。

票数 26
EN

Stack Overflow用户

发布于 2013-12-20 00:22:54

没有一个建议的答案对我来说是完全有效的。我的用例略有不同(在IE9中对S3 .json文件执行ajax get )。设置jQuery.support.cors = true;消除了No Transport错误,但我仍然收到Permission denied错误。

对我来说起作用的是使用jQuery-ajaxTransport-XDomainRequest来强制IE9使用XDomainRequest。使用它不需要设置jQuery.support.cors = true;

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5241088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档