jQuery によって呼び出される WCF サービスに問題があります。「エラー 400 不正な要求」
これが私のコードです:
- インターフェース
- 実装
- ウェブ構成
- BoardService を呼び出す Javascript メソッド
Iボードサービス
[ServiceContract]
public interface IBoardService
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
string HelloWorld(string position, string idTask);
ボードサービス
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class BoardService : IBoardService
{
public string HelloWorld(string position, string idTask)
{
...
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize("Column: " + idColumn + " Story: " + idStory + " IdTask: " + idTask);
Web.config
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="EndpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service behaviorConfiguration="ServiceBehavior" name="App.WebMVC.WCF.BoardService.BoardService">
<endpoint address="" binding="webHttpBinding" contract="App.WebMVC.WCF.BoardService.IBoardService" behaviorConfiguration="EndpBehavior"/>
</service>
</services>
</system.serviceModel>
jquery.drangdrop.js - JavaScript メソッド
function Display(id,tempCurrentDrag) {
var pageUrl = '../../WCF/BoardService.svc'
$.ajax({
type: "POST",
url: pageUrl + "/HelloWorld",
data: "{'position': '" + id + "', 'idTask': '"+tempCurrentDrag+"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccessCall,
error: OnErrorCall
});
}