昨天做一个需求,原先使用form提交的东西,领导说要改成使用ajax提交。嗯,听起来好像很简单很简单哦,可惜我已经很少敲代码了。擦,这工作让人槽点无数。果断写代码。

     
     var fm=document.getElementById('fm');
     var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
console.log("ajax success");
formInner.pop();
}
}
xhr.onerror=function(){
console.log("ajax fail");
}
xhr.open("POST","http://agent.pconline.com.cn:8040/adpubb/gen/task/urlsave.jsp"); fm.innerHTML += '<input type="hidden" name="area" value="1" />';
fm.innerHTML += '<input type="hidden" name="pt" value="'+success+'" />';
fm.innerHTML += '<input type="hidden" name="et" value="'+faild+'" />';
fm.innerHTML += '<input type="hidden" name="rt" value="urltest5.jsp?a=1" />';
var inputs=fm.getElementsByTagName("input");
var subResult="";
for(var i=0;i<inputs.length;i++){
var value=encodeURIComponent(inputs[i].value);
value=value.replace(/~/g, '%7E').replace(/!/g, '%21').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/'/g, '%27').replace(/\%20/g,'+')
subResult+=inputs[i].name+"="+value+"&";
}
subResult=subResult.slice(0,-1);
xhr.send(subResult);

  perfect,完美啊,好了,提交,呃,我再提交,呃,我再试试,呃。为毛老是500错误啊。

我试试之前的form,没问题。难道是我form的data的格式不对???换成了formData。嗯,果不其然还是500错误。

  what the  fuck????????????????

问度娘了,问啊问问啊问,写了代码代码5分钟,问度娘问了两个多小时。问了度娘好多次,度娘都说这是服务器故障跟你没关系!可是后端的小伙伴咬定这就是我的错,内牛满面啊。然后我一不小心就看到xmlHttpRequest的setRequestHeader这个东东。加上试试,死马当活马医。乱试试就对了。结果尼玛真的成功了。好了,还真是我的错。

只要在xhr.open后添加这一句就可以了。擦

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  吐槽下自己,写代码经常丢三拉丝。这工作简直吐不了槽了

ajax500错误的更多相关文章

  1. 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)

    航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ...

  2. 日期格式代码出现两次的错误 ORA-01810

    错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...

  3. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

  4. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  5. 实时的.NET程序错误监控产品Exceptionless

    Exceptionless可以对ASP.NET, Web API, WebForms, WPF, Console, 和 MVC 应用提供错误监控.上传.报表服务.使用时需要在Exceptionless ...

  6. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  7. SQL Server 致程序员(容易忽略的错误)

    标签:SQL SERVER/MSSQL/DBA/T-SQL好习惯/数据库/需要注意的地方/程序员/容易犯的错误/遇到的问题 概述 因为每天需要审核程序员发布的SQL语句,所以收集了一些程序员的一些常见 ...

  8. C# - 值类型、引用类型&走出误区,容易错误的说法

    1. 值类型与引用类型小总结 1)对于引用类型的表达式(如一个变量),它的值是一个引用,而非对象. 2)引用就像URL,是允许你访问真实信息的一小片数据. 3)对于值类型的表达式,它的值是实际的数据. ...

  9. 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file

    我的maven 项目有一个红色感叹号, 而且Problems 存在 errors : Description Resource Path Location Type Archive for requi ...

随机推荐

  1. wamp如何添加多个站点

    1.打开wamp目录下的bin目录下的apache/conf/extra/httpd-vhosts.conf文件(虚拟目录配置文件),修改文件:在num01下创建index.php文件,输出01,:在 ...

  2. ajax的表单提交,与传送数据

    ajax的表单提交 $.ajax ({ url: "<%=basePath%>resource/addPortDetectOne.action", dataType: ...

  3. 什么时候用Model,什么时候用Entity?[转载知乎-备忘]

    在建立一个实体类的时候,究竟是用Model还是用Entity?比如MVC中,Model存了数据实体,但是他被称为Model,而在EF中,Entity也是存放数据实体,却被称作Entity,这两者有何区 ...

  4. ElasticSearch 命令行管理工具Curator

    一.背景 elastic官网现在已经大面积升级到了5.x版本,然而针对elasticsearch的命令行管理工具curator现在仍然是4.0版本. 刚开始找到此工具,深深的怕因为版本更迭无法使用,还 ...

  5. java基于socket公共聊天室的实现

    项目:一个公共聊天室功能的实现,实现了登录聊天,保存聊天记录等功能. 一.实现代码 1.客户端 ChatClient.java import java.io.BufferedReader; impor ...

  6. 用OMT方法建立其分析模型: 本大学基于网络的课程注册系统。

    OMT方法是用3种模型来描述软件系统,分别是对象模型,动态模型,功能模型. 1)对象模型:课程网络注册系统 2)动态模型:序列图 3)功能模型:数据流图 0层DFD图 1层DFD图

  7. oracle,sqlserver同一个表两个字段和成一个列查询 (详询请加qq:2085920154)

    sql 同一张表开两个字段合成一个字段 例如   SQL tab 字段1 字段2 字段3 3 4 莫 合成 tab 字段1 字段2 3-4 莫     SQL SERVER select 字段1 + ...

  8. 一个URL链接到一个页面发生了什么?

    最开始觉得这是一个很难理解的东西,后来看了很多人写的发现并没有那么难理解,本人只是一个学渣有什么说的不对的地方希望大家能够指出来! 一个URL从我们输入的那一刻起,到返回页面到底发生了什么呢? URL ...

  9. redis的 rdb 和 aof 持久化的区别 [转]

    aof,rdb是两种 redis持久化的机制.用于crash后,redis的恢复. rdb的特性如下: Code: fork一个进程,遍历hash table,利用copy on write,把整个d ...

  10. Qt Qwt之坐标轴移动

    最近接触到个pro需要做到这方面,于是找了相关材料,也跟好些人讨论,目前就最简单的使用方法,通过按钮触发去控制 X,Y轴的移动,比例自己定义 这个是X轴放大的 QwtInterval tempInte ...