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

从Windows服务器上的intranet托管服务使用用于PhoneGap Android应用程序的jquery ajax调用WCF服务时出现415状态错误

解鸿运
2023-03-14

我试图消费WCF服务在PhoneGap应用程序为Android使用jQuery ajax托管在内部网域。

作为回应,我将根据下面的ajax请求得到一条消息。

Ajax请求:

    $.ajax({ 

        url: "http://myIP/wcfService.svc/myFun",
        type: "POST",  

        data: JSON.stringify(req),
        dataType: "json",

        success: OnSuccess,

        error: function(xhr,err){
            alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
            alert("responseText: "+xhr.responseText);
        }
    });

请求报头

 Accept   application/json, text/javascript, */*; q=0.01
 Accept-Encoding  gzip, deflate
 Accept-Language  en-US,en;q=0.5
 Cache-Control    no-cache
 Connection   keep-alive
 Content-Length   39
 Content-Type application/x-www-form-urlencoded; charset=UTF-8
 DNT  1
 Host MyIP
 Origin   null
 Pragma   no-cache
 User-Agent   Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

响应报头

HTTP/1.1 415无法处理该消息,因为内容类型“application/x-www-form-urlencoded;charset=UTF-8“不是预期的类型”text/xml;字符集=utf-8'。

缓存控制:私有

服务器:Microsoft IIS/8.5

X-AspNet-Version: 4.0.30319

X-Powerd-By: ASP. NET

访问控制允许来源:*

访问控制允许方法:GET, PUT, POST, DELETE, HEAD, OPTIONS

访问控制允许凭据:true

访问控制允许标头:X-request-With、来源、内容类型、接受

日期:2016年7月15日星期五格林尼治标准时间16:26:25

内容长度:0

错误状态:

415无法处理消息,因为内容类型“application/x-www-form-urlencoded;charset=UTF-8“不是预期的类型”text/xml;烧焦

共有1个答案

壤驷华美
2023-03-14

试试下面的代码

$.ajax({ 

    url: "http://myIP/wcfService.svc/myFun",
    type: "POST",  

    data: JSON.stringify(req),
    dataType: "json",
    contentType: "application/json",

    success: OnSuccess,

    error: function(xhr,err){
        alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
        alert("responseText: "+xhr.responseText);
    }
});
 类似资料:
  • 我可以在我自己的电脑上使用这个程序,但是我不能在服务器上使用。 服务器使用最高权限管理员打开程序。 具有的服务器WCF HTTP激活功能。NET4。5号门开着。 服务器endpoint地址使用"http://localhost",如下所示 endpoint地址="http://localhost"绑定="basicHttpBind"bindingConfiguration="NewBinding0

  • 我有一个WCF服务,我试图在Sitecore 7.1应用程序中托管。具有相同配置的Web服务在空白Asp.net应用程序中托管时运行良好。但是当尝试从Sitecore应用程序运行它时,它不起作用(下面的错误)。我也尝试了这些解决方案,但没有运气。我不确定它们是否应该适用于最新版本的Sitecore。 https://adeneys.wordpress.com/2008/10/17/make-sit

  • 但是所有的答案和评论对链接帖子的回应也没有太大帮助

  • 现在我正在使用AAD应用程序使服务成为= AAD应用程序 流程如下所示: 服务A:从托管标识获取令牌 服务A:转到KeyVault,出示令牌并获取AAD应用程序的秘密 服务A:转到AAD,提供一个秘密并为特定资源请求一个令牌 服务A:拨打服务B 服务B:验证令牌和资源 我想知道是否可以向我的服务注册托管标识,因此如果提供托管标识令牌,则服务B可以信任服务A。类似于这样: 服务A:从托管身份获取令牌

  • 我们必须通过配置用户名、密码和公钥,使用代理服务器internet.ford.com从应用程序连接到外部SFTP服务器。 预期与外部SFTP服务器的连接成功。

  • 这是一组问题,而不是一个非常具体的问题。在过去的几周/几天里,我对如何在“云中”正确地托管JAVA PLAY应用程序的信息感到困惑,因为很多信息分散在不同的服务上,我想把所有这些小部分集中在一起,因为很多事情都很重要,需要在完整的上下文中看到。然而,我把我的考虑转移到了问题的底部,因为它们主要是我的观点和主观发现,我不想对此负责。如果我做错了什么,请毫不犹豫地指出。 我们的场景:我们在Java P