相关疑难解决方法(0)

jQuery调用WebService返回"No Transport"错误

我有以下网络服务;

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }
Run Code Online (Sandbox Code Playgroud)

它是库存标准,没有对类装饰器进行任何改动.

我有这个jQuery方法;

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);
          }
});
Run Code Online (Sandbox Code Playgroud)

这是一个后期操作,因为稍后我需要将数据发布到它.

当我执行jQuery时,我得到一个"无传输"错误.

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

HTML页面上没有代码,它只是一个网页,而不是ac #project或任何东西.

任何人都可以指出我在正确的方向吗?

ajax jquery web-services

163
推荐指数
5
解决办法
17万
查看次数

带CORS的IE9 jQuery AJAX返回"访问被拒绝"

以下适用于IE以外的所有浏览(我在IE 9中测试).

jQuery.support.cors = true;
...
        $.ajax(
            url + "messages/postMessageReadByPersonEmail",
            {
                crossDomain: true,
                data: {
                    messageId       : messageId,
                    personEmail     : personEmail
                },
                success: function() {
                    alert('marked as read');
                },
                error: function(a,b,c) {
                    alert('failed');
                },
                type: 'post'
            }
        );
Run Code Online (Sandbox Code Playgroud)

我有另一个使用的函数dataType: 'jsonp',但我不需要在这个AJAX调用上返回任何数据.我的最后一招将是返回JSONP中包含的一些乱码,以使其正常工作.

任何想法为什么IE搞砸了没有返回数据的CORS请求?

jquery jsonp cross-domain cors internet-explorer-9

123
推荐指数
3
解决办法
14万
查看次数

XMLHttpRequest在任何低于10的IE版本上使用AngularJS拒绝访问

在10以上版本的任何Microsoft IE浏览器上查看我的应用程序时,我在控制台上收到以下奇怪的错误:

从开发人员控制台拍摄的控制台屏幕,由于此错误,视图无法解析

我已尝试在AngularJS lib之前添加以下JavaScript代码来取消控制台:

console.log = function(){};
window.console = {log: function(){}};
Run Code Online (Sandbox Code Playgroud)

它没有任何区别.IE 10中的相同错误显示为:

SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
Run Code Online (Sandbox Code Playgroud)

可能是我试图从API获取'/ me'以检查用户是否经过身份验证或访客.

基本上.每次服务器提供2XX或3XX以外的响应时,消除那些恼人的控制台错误都会很棒!

更新:这似乎与通过不同的子域(CORS)访问API有关;

internet-explorer cors angularjs

46
推荐指数
1
解决办法
6万
查看次数

如何在使用SOAP的javascript AJAX中使用一个代理与WCF Test Client使用相同

我有WCF Web服务和javascript客户端,使用SOAP 1.2通过AJAX连接到此服务.我想做的是传递一些参数来告诉AJAX SOAP调用只使用一个代理,就像我在WCF测试客户端中那样,通过取消选中"启动新代理". 图片

这是我的SOAP AJAX调用:

DoSoapAjax: function (soapMethodName, data, successHandler, errorHandler, isAsync, currentInstance) {
    var service = this;
    var soapResult    = soapMethodName + "Result";
    var soap12WithWsHttpBindRequest ='<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">' +
                      '<s:Header>' +
                      '<a:Action s:mustUnderstand="1">' + this.serviceContractNamespace + '/' + this.interfaceName + '/' + soapMethodName + '</a:Action>' +
                      '<a:MessageID>urn:uuid:605ea0c6-d09b-46bf-b61d-e61b377a135b</a:MessageID>' +
                      '<a:ReplyTo>' +
                      '<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>' +
                      '</a:ReplyTo>' +
                      '<a:To s:mustUnderstand="1">' + this.tenantAdminService + '</a:To>' +
                      '</s:Header>' +
                      '<s:Body>';
                      if (data == emptyString)
                      {
                        soap12WithWsHttpBindRequest +=
                      '<' + soapMethodName + ' …
Run Code Online (Sandbox Code Playgroud)

javascript ajax wcf proxy soap

21
推荐指数
1
解决办法
1131
查看次数