早安全,
我正在尝试一个非常基本的form.submit,由于某种原因,它总是以失败告终。 还使用.NET中的本地Web服务。
我必须遗漏一些非常基本的东西......或者可能是数据回归的方式。
我附上了几张图片来说明我的尝试方式:
image1 - form.submit
image2 - service.cs
image3 - 我如何从.NET webservice本地返回结果
为图像道歉...由于某种原因,剪切和粘贴代码无效。
谢谢! 斯蒂芬
这是webservice中调试器的图片 第一行是var变量 第二行(x2)使用JsonConvert.SerializeObject转换为json
我也一直在尝试理解CORS ......所以我在web.config中添加了以下内容,但这并没有帮助
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
在这里输入代码
我调整了web.config以允许选项但仍然出错 状态代码405方法不允许
<system.webServer>
<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="OPTIONS, TRACE, GET, HEAD, POST, PUT" />
<!--<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />-->
</customHeaders>
</httpProtocol>
</system.webServer>
好的...我做了一些更改......我从web.config中删除了这些行,并添加了一个Global.asax.cs页面,其中包含以下内容:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization, X-Requested-With");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
现在它似乎成功通过,但仍然失败了。我在这里做点什么吗?这是我的json格式吗?
结果
答案 0 :(得分:2)
您的响应有反斜杠,这是无效的JSON。它必须是{"success":true}
没有反斜杠。
这应该是由于双序列化。在你调试它的地方,没关系。但是你应该在其他地方再次序列化它。确保避免重复序列化。