ext js Form.Submit总是返回失败

时间:2016-02-24 21:06:16

标签: c# json extjs

早安全,

我正在尝试一个非常基本的form.submit,由于某种原因,它总是以失败告终。  还使用.NET中的本地Web服务。

我必须遗漏一些非常基本的东西......或者可能是数据回归的方式。

我附上了几张图片来说明我的尝试方式:

image1 - form.submit

enter image description here

image2 - service.cs

enter image description here

image3 - 我如何从.NET webservice本地返回结果  enter image description here

为图像道歉...由于某种原因,剪切和粘贴代码无效。

谢谢!  斯蒂芬

这是webservice中调试器的图片 第一行是var变量 第二行(x2)使用JsonConvert.SerializeObject转换为json enter image description here

最后是返回时来自浏览器的调试器图片 enter image description here

我也一直在尝试理解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>

在这里输入代码

这是firefox调试器 enter image description here

我调整了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格式吗?

结果

newresult

json

network

1 个答案:

答案 0 :(得分:2)

您的响应有反斜杠,这是无效的JSON。它必须是{"success":true}没有反斜杠。

这应该是由于双序列化。在你调试它的地方,没关系。但是你应该在其他地方再次序列化它。确保避免重复序列化。