gpt4 book ai didi

jquery - 来自 jquery 的 Restful 服务调用的状态代码 405

转载 作者:行者123 更新时间:2023-12-01 05:52:04 25 4
gpt4 key购买 nike

我创建了一个安静的服务并尝试从网页调用它。但我收到错误代码 405。

相同的休息服务调用在肥皂 UI 上工作正常

下面是 wevservice 和 jquery 调用的详细信息

网络服务 API

[OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, UriTemplate = "PostMethodWithCustomerArray")] List PostMethodWithCustomerArray(List dataStrings);

网络服务代码

    public List<CustomerWithArray> PostMethodWithCustomerArray(List<CustomerWithArray> dataStrings)
{
return dataStrings;
}

ajax调用

var UrlPostMethodWithCustomerArray = "http://localhost:29745/RESTfulService.svc/PostMethodWithCustomerArray";

var customerWithArray = [{ "Name": "Dipak Godbole", "Age": "27", "HumanType": "1", "strArray": ["11", "22"] },
{ "Name": "Madan Chapa", "Age": "19", "HumanType": "3", "strArray": ["111", "222"] },
{ "Name": "Raju Rohida", "Age": "55", "HumanType": "2", "strArray": ["1111", "2222"] }];

$(document).ready(function () {
$.ajax({
cache: false,
type: "POST", //GET or POST or PUT or DELETE verb
url: UrlPostMethodWithparam, // Location of the service
data: JSON.stringify(customerWithArray),
dataType: "json", //Expected data format from server
contentType: "application/json; charset=utf-8",
success: function (msg) {//On Successfull service call

$.each(msg, function (index, item) {
alert(item.Name + item.HumanType);
});
//alert(msg);
},
error: ServiceFailed// When Service call fails
});
});

Web 配置部分

<?xml version="1.0"?>
<configuration>

<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.serviceModel>
<services>
<service name="TrialRESTService.RESTfulService" behaviorConfiguration="svcbehaviour">
<endpoint address=""
binding="webHttpBinding"
contract="TrialRESTService.IRESTfulService"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="svcbehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior>
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<!--
To browse web app root directory during debugging, set the value below to true.
Set to false before deployment to avoid disclosing web app folder information.
-->
<directoryBrowse enabled="true"/>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="POST,GET"/>
</customHeaders>
</httpProtocol>
</system.webServer>



</configuration>

有什么帮助吗???

使用 Google crome 开发者工具时出错

    OPTIONS 
http://localhost:29745/RESTfulService.svc/PostMethodWithCustomerArray
405 (Method Not Allowed) jquery-1.8.2.min.js:19

XMLHttpRequest cannot load http://localhost:29745/RESTfulService.svc/PostMethodWithCustomerArray. Invalid HTTP status code 405 Default.aspx:1

最佳答案

这对于您的数据有效负载来说是不正确的(不是有效的 json):

data: JSON.stringify("Dipak Godbole")

相反,你应该有

data: JSON.stringify("{name: Dipak Godbole}")

你应该看看这个帖子。它与跨域问题有关:Post data to RESTful Invalid HTTP status code 405

关于jquery - 来自 jquery 的 Restful 服务调用的状态代码 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com