大家好,我有一个问题,我不能从客户机获得JSON值。我已经创建了WCF REST服务,并在客户机的IIS中添加了该服务。从客户机,打开我的网站,这个方法readIndicator被触发。但是收到了一个错误消息。我已经在web.config添加了Access-Control-Allog-Origin。
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost/weightservice/WeightService.svc/GetReader. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
WCF web.config
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="BandRate" value="2400"/>
<add key="Parify" value="0"/>
<add key="Port" value="COM3"/>
<add key="Bits" value="8"/>
<add key="Model" value="BDI2001B"/>
<add key="DecimalPoint" value="0"/>
<add key="Output" value="BDI-2001"/>
</appSettings>
<connectionStrings/>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<authorization>
<allow users="*"/>
</authorization>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS" />
<add name="Access-Control-Max-Age" value="1728000" />
</customHeaders>
</httpProtocol>
<!--
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"/>
</system.webServer>
<system.serviceModel>
<behaviors>
<serviceBehaviors >
<behavior name="ServiceBehavior">
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="WCFWeightService.WeightService" behaviorConfiguration="ServiceBehavior">
<endpoint binding="webHttpBinding" contract="WCFWeightService.IWeightService" behaviorConfiguration="web">
</endpoint>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
</configuration>
function readIndicator() {
try {
$.ajax({
type: "GET",
dataType: 'json',
async: true,
contentType: "application/x-www-form-urlencoded",
url: 'http://localhost/weightservice/WeightService.svc/GetReader',
success: function (data) {
if (data != "" || data != null) {
console.log(data);
console.log(data.GetReaderResult);
$("#indicator").text(data.GetReaderResult);
}
},
error: function (request, status, error) {
//gmyMsgbox('Failed to perform CheckToyNameExist', 'Err');
//err.preventDefault();
console.log(error);
},
});
} catch (err) {
//gmyMsgbox(err.message, 'Err');
console.log(err);
err.preventDefault();
}
}
我已经用我自己的电脑试过了,没问题。我不知道我犯了什么错误。我希望你们能帮我解决这个问题,提前谢谢。
现在,我只是在客户端PC浏览器上安装了插件“允许CORS:访问-控制-允许-起源”。
我从ASP.NET表单中调用这个函数,在调用Ajax时在firebug控制台中得到以下错误。 跨源请求被阻止:同一源策略不允许读取http://anotherdomain/test.json上的远程资源。(原因:CORS标头“Access-Control-Allow-Origin”丢失)。 我做了其他的方法,但仍然找不到解决办法。 注意:我没有服务器权限进行服务器端(API/URL)更改。
当我尝试设置时,我得到一个CORS错误原因:CORS头'access-control-allog-origin'丢失 下面是我在Spring MVC中的Cors重写:
在我的web应用程序中,尝试用ajax调用将数据传递到另一个域。但是它显示了类似于 我的ajax代码是,
我有一个基本的Spring BootRest应用程序和angular应用程序。(使用JWT) 但是,由于这个错误,我不能发出任何请求:(即使我在响应头中添加 以下是安全配置: 下面是我添加cors头的地方:
问题内容: 我有两个VS项目:一个公开MVC5控制器,另一个是有角度的客户端。我希望有角度的客户端能够查询控制器。我阅读了许多主题,并尝试了以下方法: 我将此添加到服务器的Web配置中: 我在控制器的操作上创建并使用了以下过滤器: 在有角度的客户端中,我创建了以下拦截器: 根据Firebug,这导致以下请求: 以及以下响应: 而且,Firefox使用以下消息阻止请求: 问题答案: 通常,我阅读的线
Response.AddHeader(“Access-Control-Allow-Origin”,“*”)是如何实现的;行设置多个标题时,包括,但没有当我删除它?