无法将Access-Control-Allow-Origin添加到我的WCF库Project

Jor*_*rge 6 c# ajax wcf jquery

我试图理解为什么这个ajax被调用不起作用

 $.ajax({
        type: 'GET',
        url: "http://localhost:8732/Design_Time_Addresses/InMotionGIT_NT.Address.Service/AddressService/json/capitalize",
        data: { streetAddress : JSON.stringify(streetAddress) , consumer :  JSON.stringify(consumer)} ,
        datatype: "jsonp",
        success: function (data) {
            $('body').append('<div>'+data.IDblah+' '+ data.prueba+'</div>');
            alert(data.IDblah);
        }
Run Code Online (Sandbox Code Playgroud)

服务接收数据正确接收并且响应正确.我为什么做错了?

我尝试将此属性添加到调用的ajax但没有成功 crossDomain : true

[OperationContract()]
[WebInvoke(Method="GET", RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
public string Capitalize(StreetAddress streetAddress,ConsumerInformation consumer)
Run Code Online (Sandbox Code Playgroud)

我得到它的错误是常见的

 XMLHttpRequest cannot load Origin http://localhost:50816 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

UPDATE

我试图通过在我的App.config文件中添加configuracion 但是没有成功将标题添加到响应中

<system.webServer>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

mas*_*het 13

将其放在配置文件的服务端

<system.webServer>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

这个对我有用!谢谢!


rpg*_*ker 4

此链接会有所帮助: http: //enable-cors.org/

您需要在发送回客户端的响应中添加以下标头:

//允许所有域

Access-Control-Allow-Origin: *

或者

//允许特定域

Access-Control-Allow-Origin: http://example.com:8080 http://foo.example.com