最近碰到这样一个问题,原本一个ajax异步提交数据之前是很好的,很多系统都延用了均未出现任何问题。最近这个版本却出现ajax方式post数据不到后台程序,让我折腾了好几天。起初的ajax是这样写的:

01.$.ajax({
02.type: 'POST',
03.url: "/Ajax/SaveData.aspx",
04.dataType: "json",
05.data: "RequestTime="+ (new Date()).toString()+"&WorkFlowInfo="+jsonText,
06.beforeSend: function () {
07.},
08.success: function (msg) {
09.$("div[class='datagrid-mask']").hide();
10.$("div[class='datagrid-mask-msg']").hide();
11.alert(msg.mes);
12.if (msg.op != "err")
13.window.location.reload();
14. 
15.},
16.error: function (errorMsg) {
17.$("div[class='datagrid-mask']").hide();
18.$("div[class='datagrid-mask-msg']").hide();
19.alert("发生了一个错误");
20.}
21.});

当我的jsonText字符串不是很长的情况下,是可以post至后台服务的。那么既然我的type为post方式,与数据长短有何关系对吧?你或许会如此坚定的想。

易错点:

那么为何当jsonText过长时post提交至后台失败呢?细心的网友可能会发现虽然是post方式但是data的书写方式是不对的,data原本就是接受json类型的参数和数据的,上面的代码却将之当做了直接在url内传递参数的形式,换言之就是将ajax的psot提交方式活生生地变换为了get方式提交

get方式提交是直接在url内传递参数和数据,url内有最大字数限制的,所以当jsonText过长时就提交不至后台服务。

如何纠正?

既然是data的书写方式不对,那么我们只需要纠正一下这个地方即可,纠正后的示例代码如下所示:

01.$.ajax({
02.type: 'POST',
03.url: "/Ajax/SaveData.aspx",
04.dataType: "json",
05.data: {RequestTime:(new Date()).toString(),WorkFlowInfo:escape(jsonText)},
06.beforeSend: function () {
07.},
08.success: function (msg) {
09.$("div[class='datagrid-mask']").hide();
10.$("div[class='datagrid-mask-msg']").hide();
11.alert(msg.mes);
12.if (msg.op != "err")
13.window.location.reload();
14. 
15.},
16.error: function (errorMsg) {
17.$("div[class='datagrid-mask']").hide();
18.$("div[class='datagrid-mask-msg']").hide();
19.alert("发生了一个错误");
20.}
21.});

这样一来就可以正常post数据至后台服务了的。

关于Ajax的type为post提交方式出现请求失效问题的更多相关文章

  1. ajax的get与post提交方式

    Get方式的用户名验证 1.编写html代码 <form> 用户名[GET]:<input id="usernameID" type="text&quo ...

  2. ajax参数contentType与数据提交方式

    使用bootstrapTable时,服务器端无法获取参数(flask,request.form.get方法),检查发现是因为ajax提交的时候,方式是payload,要想用form提交,需要设置con ...

  3. 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式

    今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...

  4. 利用 ajax自定义Form表单的提交方式

    需求场景:有时候单纯的form表单无法向后端传递额外的参数 比如需要action传递js异步生成的参数 ,form表单默认的action就无法满足需求,这时就需要我们自定义form表单的提交方式. h ...

  5. web 开发之js---ajax 中的两种提交方式ajax post 和 ajax get 实例

    ()post http://04101334.iteye.com/blog/637695/ ()get function serializeElement(element) { var method ...

  6. ajax的post提交方式和传统的post提交方式哪个更快?

    如果同时用ajax和post提交先执行哪个呢?是ajax返回后再执行post呢还是同时执行? ajax的post提交方式和传统的post提交方式哪个更快? >> php这个答案描述的挺清楚 ...

  7. ASP.NET MVC 表单的几种提交方式

    下面是总结一下在ASP.NET MVC中表单的几种提交方式. 1.Ajax提交表单 需要引用 <script type="text/javascript" src=" ...

  8. 【整理】Ajax异步实现的几种方式总结

    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.GET ...

  9. POST不同提交方式对应的Content-Type,及java服务器接收参数方式

    POST不同提交方式对应的Content-Type,及java服务器接收参数方式 注:本博客参考了网上的文章结合自己工作总结后所写,主要用于记录自己工作所得,如有错误请批评指正. 简介: Conten ...

随机推荐

  1. 读书笔记之ado.net entity framework

    提供了对数据访问的一种抽象层,是更加易于以编程的方式来操作及管理数据 有以下几种模式:Model First, Database First, and Code First 现在主要讨论code Fi ...

  2. 数学之欧拉函数 &几道poj欧拉题

    欧拉函数总结+证明 欧拉函数总结2 POJ 1284 原根 #include<iostream> #include<cstdio> #include<cstring> ...

  3. Java 泛型 Java使用泛型的意义

    Java 泛型 Java使用泛型的意义 @author ixenos 直接意义 在编译时保证类型安全 根本意义 a) 类型安全问题源自可复用性代码的设计,泛型保证了类型安全的复用模板 b) 使用复用性 ...

  4. jquey(判断文本框输入的网址链接是否符合规则)

    今天遇到一个问题,我要在文本框中输入一个网址链接,使其跳转.但是如何验证,我首先想到了正则表达式.对的,就是你想的那样,我对正则一知半解,但在我哥哥帮助下,最终是 实现 了效果.在此,来一发,分享一下 ...

  5. IdentityDbContext类源码

    Microsoft.AspNet.Identity.EntityFramework/IdentityDbContext.cs 源码: 其中涉及到用户信息表.用户角色表的相关操作. using Syst ...

  6. DELPHI中MessageBox的用法 (转)

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  7. DigitalOcean VPS简介

    DigitalOcean是一家位于美国的云主机服务商,总部位于美国纽约,成立于2012年.由于价格低廉,高性能配置.灵活布置的优势,近些年来发展迅猛,成为中国站长圈们喜爱的品牌.(访问http://w ...

  8. Business Intelligence(BI) 商务智能

    商业智能技术正是一种能够帮助企业迅速地完成信息采集.分析的先进技术.它以数据仓库(Data Warehousing).在线分析处理(OLAP).数据挖掘(Data Mining)3种技术的整合为基础, ...

  9. Android RIL Log

    转载: 要调试 RIL,最好的方法就是打开 radio的log: $ adb logcat -b radio 最好加上 log语法亮度工具coloredlogcat.py ,一些常见的LOG TAG要 ...

  10. IE8“开发人员工具”使用详解上(各级菜单详解)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html IE8“开发人员工具”使用详解上(各 ...