角度が非常に新しいです。今、私はWCFへの角度POSTにいくつか問題があります。パラメータCORSエラーのWCFに対する角度ポスト
これはWCFコントラクトである:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
UriTemplate = "/InsertJSONSTRING/")]
void InsertJSONSTRING(DyeMaster value);
この角度コントローラ
app.controller('UploadCOJSON', function ($scope, $http) {
$scope.SendData = function() {
function DYE() {
this.DESCRIPTION;
this.COLOR_CODE;
}
$scope.dye = new DYE();
$scope.dye.DESCRIPTION = $scope.DESCRIPTION;
$scope.dye.COLOR_CODE = $scope.COLOR_CODE;
var dataR = JSON.stringify($scope.dye);
$http({
url: "http://localhost:63599/ServiceMobileListener.svc/InsertJSONSTRING",
method: "POST",
data: dataR,
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
});
}
});
これは誤りである。
どういうわけCross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:63599/ServiceMobileListener.svc/InsertJSONSTRING. This can be fixed by moving the resource to the same domain or enabling CORS.
Iは、パラメータ(データ)を除きます。何のエラーもなく動作しています。
$http({
url: "http://localhost:63599/ServiceMobileListener.svc/InsertJSONSTRING",
method: "POST",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
});
注:ここで説明どおりにCORSを有効http://enable-cors.org/server_wcf.htmlは
を実施してきたあなたの親切に役立ちます感謝しています。
私は何を返信すればよいでしょうか?これは私がGlobal.asaxに入れたものですが、動作していないものです: { if(Request.Headers.AllKeys.Contains( "Origin")&& Request.HttpMethod = = "OPTIONS") { Response.Flush(); } } – anevil
回答を @anevilに更新しました。また、http://my.requestmaking-site.comは、あなたが からリクエストしようとしているページのベースURLであることに注意してください(私はそれがlocalhostで動作するかどうかはよく分かりません。 ) – techblu3
tq sir。実際にそれらのヘッダーを配置する必要がありますか?リクエスターやサービスについて?私はすでにWCFサービスのEnableCORSBehaviourに持っています。だからちょうど "Access-control-methods"ヘッダーキーを変更しましたが、運が悪い、それでも同じエラーです。 – anevil