ajax请求jesery接口无法获取参数的问题解决方案

jesery是强大的RESTful api框架, 很多人在用它做web项目时会遇到这样一个问题: ajax请求jesery接口无法获取输入参数, 可明明接口已经指明了Consume是application/x-www-form-urlencoded, 为什么接口获取的输入参数都为Null.

其实, 要解决这个问题, 要注意一个细节, 就是浏览器在使用jquery ajax方法发送请求,默认会用contentType为application/x-www-form-urlencoded, 尾巴再 带上当前页面的编码(例如UTF-8), 而jesery是默认不带编码(不确定是否可以在web.xml设置encode编码解决该问题), 在接收参数时, 发生了内部错误, 导致参数都是Null.

所以, 在使用ajax请求jesery接口, 要记得明示设置contentType(例如: contentType:‘application/x-www-form-urlencoded‘)

时间: 2024-10-14 06:24:32

ajax请求jesery接口无法获取参数的问题解决方案的相关文章

使用js+Ajax请求API接口数据-带请求头方式

先上代码: <script type="text/javascript"> function zLoginCheck() { var Account = 'admin; var Password = 'DC483E80A7A0BD9EF71D8CF973673924'; var str = { Account: Account, Password: Password } $.ajax({ type: "POST", url: '/Handle/zLogi

JQuery发送ajax请求不能用数组作为参数

JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var selectedMembers = document.getElementsByName('selectedMembers');        var cwIds = new Array(); //定义数组        for(var i=0;i<selectedMembers.length;i++){  

AJAX请求遭遇未登录和Session失效的解决方案

使用技术:HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定.但是AJAX却是例外的,所以解决方法是设置响应为session失效. 一共分为过滤器和页面JS两个部分的设置,先看过滤器的修改: import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterCon

关于angularjs中ajax请求php接口参数个是转换的问题

mainApp.config(function($httpProvider){ $httpProvider.defaults.transformRequest = function(obj){ var str = []; for(var p in obj){ str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); } return str.join("&"); } $httpPr

MUi 框架ajax请求WebService接口

mui.init(); mui.plusReady(function() { document.getElementById('login').addEventListener('tap',function() { var UserName=document.getElementById("account").value; var Userpassword= hex_md5(document .getElementById("password").value); m

Jmeter_从jdbc请求的响应中获取参数做关联

1:从sql表中将需要取的数据查出来 2:我们需要把这个id为4451的数据从sql里面取出来,传到下一个sql里面,执行删除 3:写一个接口的传参有些不同,变成了var_id_1.var_id是之前的sql中定义的变量,_1是取第一行数据.这个_1必填 4:我们看一下执行结果.此处我们已经将4451这个id取出来,传入了下一个接口,并执行了删除操作 就是这么简单~再会 原文地址:http://blog.51cto.com/13645741/2086245

ajax请求成功或失败的参数

success:function(response, status, xhr){ }, error:function(xhr, errorText, errorType){ alert(errorText+":"+errorType); --error:not found alert(xhr.status+":"+xhr.statusText);--404:not found }

Extjs4.2 ajax请求url中传中文参数乱码问题

用例点表达进度 识别用例的状态 根据生命周期要求,识别用例的状态及转移. 典型的如瀑布型,一般依次有如下状态:用例识别,用例确认,用例已设计,用例已编码,用例已测试. 采用测试驱动开发(TDD)的一个例子,依次状态:用例识别,已写测试用例,用例已编码,用例已集成,用例已测试. 最简化用例状态,依次状态:用例识别,用例已集成. 从以上例子可以看到,传统生命周期和敏捷方法都可以得到合适的状态转移图. 设定用例状态的完成度 完成度以百分比表示,表示与工作量成正比的完成程度,0%表示刚开始,工作量投入为

jquery中的ajax请求用法以及参数详情

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项