jquery ajax没响应

各位,使用jquery ajax post发送请求,请求参数(data)太长则后台接收不到请求。
如果将data改为“1234”等简单的参数,则发送成功。因此可以确定是参数的问题。
[code="html"]
$.ajax({
method:"POST",
url: ajaxRequestURL,
//data: "1234",
data: requestParams,
async: true,
cache: false,
dataType: "text"
});
[/code]
requestParams的格式为:
[code="html"]
var params="";
for(var i=0;i<phoneNumbers.length;i++){
params+="insertMemberDto.orders["+i+"].memberPhone="+tds[(i*7+0)]+"&"+
"insertMemberDto.orders["+i+"].memberName="+tds[(i*7+1)]+"&"+
"insertMemberDto.orders["+i+"].memberEmail="+tds[(i*7+2)]+"&"+
"insertMemberDto.orders["+i+"].memberPassword="+tds[(i*7+3)]+"&"+
"insertMemberDto.orders["+i+"].memberNumber="+tds[(i*7+4)]+"&"+
"insertMemberDto.orders["+i+"].memberUsualNumber="+tds[(i*7+5)]+"&"+
"insertMemberDto.orders["+i+"].memberProductId="+tds[(i*7+6)]+"&";
}

requestParams=params.slice(0,params.length-1);
[/code]
发送请求前alert出url和data,确定没有问题,直接在地址栏敲入url也没有问题,所以确定是请求参数data的问题。比较长,最大可达到1000个字符,按理说使用post发送也没什么问题...是字符格式吗?在firefox 看请求内容,各项参数也都正确,WHY?

请求达人相助!

4个回答

[quote]
[code="javascript"]
$.ajax({
method:"POST",
url: ajaxRequestURL,
//data: "1234",
data: requestParams,
async: true,
cache: false,
dataType: "text"
});
[/code]
[/quote]
你写错了,要设置“POST”请求,应该是:
$.ajax({
type:"POST",
url: ajaxRequestURL,
//data: "1234",
data: requestParams,
async: true,
cache: false,
dataType: "text"
});
[/code]
所以,其实你上面的请求还是以GET方式发起的,GET请求的URL长度是有限的,大约2k吧。

不是“method:"POST"”

  1. $.ajax({
  2. [color=red] method:"POST", [/color]应该是type:"POST",
  3. url: ajaxRequestURL,
  4. //data: "1234",
  5. data: requestParams,
  6. async: true,
  7. cache: false,
  8. dataType: "text"
  9. });

并且 需要注意的是!
如果你是在IE中,那你的数据是不能成功发送的,
只能是第一次发送成功!~
IE的缓存处理不到位~!
所以 你的参数在家个时间才能发送到服务器端!~
否则IE将不发送数据,直接在缓存内部取
如:
t=new Date();
然后Ajax方法的 data: requestParams+"&"+t;
不关你数据量大小的事!~
你发送的这点数据根本没超出post提交限定的大家

楼上的post应该不是从缓存里取的数据吧?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jquery ajax URL始终无法响应的问题
我想做一个简单的页面名字录入,点击确认按钮,名字上传到数据库的动作。由于是新手, 不太理解jquery ajax在同一页面的前后台通讯的问题。特别是URL要怎么写。是写个服务器上面的js文件地址?还是写一个js里面的函数,还是怎么办? 在node端的路由要如何写。在线求等! 起了服务器后,点击确认按钮,一直返回的都是error。 前端: $.ajax({ data: test, url: '../model/test.js', type: 'post', dataType: 'json', async: false, cache: false, timeout: 5000, success: function(data){ alert("success"); //var datas = JSON.parse(data); //if(200 == datas.code){ // window.alert(datas.message); // //$("#id_tip").val(datas.message); //}else{ // window.alert(datas.message); // // $("#id_tip").val(datas.message); //} if(data.msg =="true" ){ // view("修改成功!"); alert("修改成功!"); window.location.reload(); alert("修改成功!"); }else{ view(data.msg); } }, error: function(){ alert('error '); } }); 后端 router.get('/public/model/test.js/operSearch', function(req, res, next) { res.send("hello world"); //res.render('/add_metpage', { title: 'Express' }); });
ajax(jquery)无响应
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>新手,想问一下为什么13、18行那句,放在 if 中就没有执行,放在下面 else 中就可以呢?难道跟return false有关吗?</p> <p>可能原因是什么?</p> <p>试了很久没找到原因,其他地方应该都正确。</p> <pre name="code" class="js">$.ajax({ type: "POST", url: "login.php?action=login", dataType:"json", data: {"id":user,"p":userpwd}, beforeSend: function(){ …… }, success: function(json){ var userr = document.getElementById("user"); var userpwdd = document.getElementById("userpwd"); if(json.success == 1){ $("#lou").html('用户:' + user); } else{ if(json.success &lt;5){$("#user").focus();}else{$("#userpwd").focus();} userpwdd.value=""; $("#lou").html('用户:' + user); } } });</pre> <pre name="code" class="js"> </pre> </div>
jquery ajax方法调用在session超时以后如何跳转到登录页面?
jquery ajax方法调用在session超时以后如何跳转到登录页面? session超时以后虽然被过滤器过滤到了,但是并不会跳转到登录页面请求具体的解决方法。 我参考了这篇文章,但是我调用ajaxStart不起作用。 http://www.blogjava.net/vickzhu/archive/2009/06/05/280223.html ext jquery 用户访问超时(ext session过期) 解决两种情况下的用户访问超时。 a)普通http请求的session超时。 b)异步http请求的session超时,使用ext后大部分的界面刷新都是异步的ajax请求。 不管是那种类型的http请求总是可以由一个过滤器来捕捉。 分类:普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。 其实对于常见的ajax框架,header中还有标示自己身份的header信息。 对于普通的http请求,发现session超时后直接重定向到一个超时页面,显示访问超时。 对于异步http请求,发现session超时后则向请求的response中写入特定的超时头信息,客户端ajax对象检测 头信息,发现有超时状态标志后调用显示超时信息的javascript方法,提示用户访问超时。 服务器端session超时后在过滤器中为response添加新的头信息,标记该请求超时: if(r.getHeader("x-requested-with")!=null && r.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ response.setHeader("sessionstatus","timeout"); } 使用Ext.Ajaxt对象完成异步请求的交互,Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)。 注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件。在该事件的回调函数里面判断 访问请求是否超时。使用Ext.Ajax对象的好处是,只需要引入一个包含了几行超时处理代码的js文件,就可以 为当前应用增加超时处理功能,原有代码不需要做任何修改。 使用Ext.Ajaxt对象完成异步请求交互,假如checkUserSessionStatus是你的回调方法,每个页面引用: Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this); function checkUserSessionStatus(conn,response,options){ //Ext重新封装了response对象 if(typeof response.getResponseHeader.sessionstatus != 'undefined'){ //发现请求超时,退出处理代码... } } 可以利用的几个特性:a)所有的ajax请求均带有x-requested-with:XMLHttpRequest头信息b)Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)c)注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件(概念类似spring的aop拦截)。 jquery提供了几个全局事件可以用来处理session过期请求,如当ajax请求开始时会触发ajaxStart()方法的回调函数;当ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有ajax请求发生时,都会触发它们。类似的事件还有:ajaxComplete(),ajaxError(),ajaxSend(),ajaxSuccess()等。 如果使某个ajax请求不受全局方法的影响,那么可以在使用$.ajax()方法时,将参数中的global设置为false,jquery代码如下:$.ajax({ url:"test.html", global:false//不触发全局ajax事件}) 对于其他的ajax框架,解决用户访问请求超时这个问题的思路是类似的。
jquery ajax 请求一直返回当前页面HTML代码
前端JS var names =$("#names").val(); if(isNull(names)){ alertMsg({'msg':'请输入姓名!'}); return; } var job_number =$("#job_number").val(); if(isNull(job_number)){ alertMsg({'msg':'请输入工号!'}); return; } var email =$("#email").val(); if(isNull(email)){ alertMsg({'msg':'请输入邮箱'}); return; } $.ajax({ type:"post", url:"memberBinding.do", data:{'names':names,'job_number':job_number,'email':email}, dataType:"json", success:function(result){ alert(result); alert(result.error); alert(result.msg); return; }, error:function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); alert("Ajax获取数据失败!"); } }); 后端处理代码: public String memberBinding() throws Exception { JSONObject json = new JSONObject(); json.put("error", "1"); json.put("msg", "验证成功"); JSONUtils.printObject(json); return null; } 问题描述: 执行这个请求实际是没有发送到服务端去,可是却进入了 success,并且result 返回的数据是当前这个页面的所有HTML元素。改变dataType 为HTML 还是没有用,但是会进入error,status=200,readyState=4,textStatus=parsererror。 这个请求都没有发送到服务端,我已经在服务端跟踪了,没有响应请求。另外服务端返回的结果是JSON字符串格式的数组。服务器端直接用地址栏的形式是可以返回数据的,并且没有任何异常,返回内容{"error":"1","msg":"验证成功"}
servlet 如何渠道jquery ajax 中Select的值
<script type="text/javascript"> function f() { new Ajax.Request("servlet/GetProvinceServlet", { method : "post", onSuccess : function(req) { var provinces = req.responseText.evalJSON(); for (i = 0; i < provinces.length; i++) { var province = provinces[i]; var op1 = new Option(province.name, i); $('s1').options[i] = op1; } f1(); } }); } function getXmlHttpRequest() { var xmlHttpRequest = null; if ((typeof XMLHttpRequest) != 'undefined') { xmlHttpRequest = new XMLHttpRequest(); } else { xmlHttpRequest = new ActiveXObject('Microsoft.XMLHttp'); } return xmlHttpRequest; } function f1() { var xmlReq = getXmlHttpRequest(); var url = "servlet/GetCityServlet"; xmlReq.open("post", url, true); xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlReq.onreadystatechange = function() {//匿名函数 if (xmlReq.readyState == 4) {//服务器响应已经完成 //alert(xmlReq.status); if (xmlReq.status == 200) {//如果服务器返回的是错误信息 var citys = xmlReq.responseText.evalJSON();//获得数据 $('s2').innerHTML = '';//清空第二个下拉列表中的类容 for (i = 0; i < citys.length; i++) { var city = citys[i]; var op1 = new Option(city.name, i); $('s2').options[i] = op1; } } else { alert("error"); } } }; xmlReq.send("prvince=" + $("s1").value); } </script> </head> </html> servlet 取select的值 是数组的下标 如何取到下拉框的内容
关于JQuery Ajax Error调用的问题
问题:用Ajax写了测试代码如下: 一个文本框,一个按钮,Click事件绑定到下面方法上: function postNote(){ var data=$('#content').serialize(); $.ajax({ type:"post", url:"noteCreate.do", dateType:"json", data:data, error: function(XmlHttpRequest, textStatus, errorThrown){ alert(XmlHttpRequest.status); alert("提交失败!请联系管理员。") }, success: function(data,textStatus){ alert(textStatus); alert("提交成功!"); } }); 服务器端代码无误,这里就不写了。测试发现问题,我在Tomcat启动时,打开页面,然后关闭Tomcat。点击按钮,结果在IE上正确调用error的处理方法,但是在Firefox和Chrome上均调用succuss方法处理。用Firebug观察返回结果,发现已经没有响应内容了,但依然调用success。 $.ajax上我加了cache:"false"和async:"false",依然无效。设置Timeout:"2000"后可以正常,但我觉得不能通过设置Timeout来解决该问题。 求正解。
spring 3.1 mvc json jquery ajax得不到数据
spring 3.1.1 jquery 1.8.0 web.xml [code="java"] <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>biservice</display-name> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.xml</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>json</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>json</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> [/code] servlet.xml [code="java"] <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <context:component-scan base-package="com.ft.bi.controller" /> <context:annotation-config /> <mvc:annotation-driven /> </beans> [/code] Controller [code="java"] @Controller public class BiController { @Autowired private BiService biService; @RequestMapping(value = "/search") @ResponseBody public List<UvModel> getAnalysisDatas(@RequestParam String start, @RequestParam String end, @RequestParam int prjid, @RequestParam int ty) { return biService.getUvModels(start, end, prjid, ty); } [/code] ajax代码 [code="java"] $.ajax({ url : 'http://localhost:8080/biservice/search?start=2013-03-01&end=2013-03-02&prjid=333&ty=1', dataType : 'json', success : function(data) { alert(data); }, error: function(jqXHR, textStatus, errorThrown) { alert("Issue fetching the JSON: " + textStatus + " " + errorThrown + " !"); } }); } [/code] 主要问题: 1、在浏览器访问 如果没有插件,会下载json内容 2、ajax访问 alert error no Transport 3、firebug查看ajax请求状态为200,但没有响应项和JSON项 4、直接用firefox访问、firebug查看 响应 内为返回数据,JSON内为放回数据
springMVC中@response和jquery的ajax提取报406错误
代码很常规,在后台手动打包成JSON就可以正常的传过去,但是写成@responsebody就不行,数据库也响应正确了,就是传过去的参数前台拿不到,改成了$.ajax的写法设置了请求头仍然没有用,网上说用maven进行依赖什么的,pom.xml我没有写过啊。求教~~~
使用jquery+AJAX实现3个字段的查询,回传显示,写入数据库,刷新局部网页table
事情是这样的,我是在一个工厂里面上班,想做一个车间内用的小型网站,因为不想在车间的服务器上建立数据表,怕我这个外行调试的时候,会影响到其他很重要的数据表,所以就自己下载了一个USBWEB套件(apache+mysql+php),我把这个装到车间其中一台电脑上,当我自己的小服务器, 我想用PHP做个网页,功能是有一个textbox,当这个的输入值达到11位的时候,自动查询公司的主服务器(mssql 2014版本)上的一个数据表,这个数据表上有一个字段就是我输入的这个11位数,另外有3个字段就是我需要的数值,我想把这3个查询到字段值显示在同一个网页上,用textbox或者lable都行,然后,再将这4个数值一起存入我这台电脑的MYSQL服务器内的数据表中,然后网页中间有个显示该mysql数据表内容的table,可以自动刷新一下,谢谢 总体就是 当输入数值(只有英文和数字)达到11位时, 自动按顺序执行, 查询MSSQL, 回传显示, 写入MYSQL, 刷新table, 清空输入框, ---------------------------------- 这个网页不需要页面布局等,我已经布局了,目前已知的是,听说jquery+ajax可以实现这个功能但楼猪是学化学的,实在很难理解,所以来悬赏求教,谢谢,希望有人帮俺 目前某位热心大佬已经给了我一个demo,可以实现输入响应的回传显示,但是我还是如何把输入值带入查询语句,写到那个结果集里面,也不知道怎么才能同时显示3个字段值。。。。谢谢 我这个好多要求,知道部分功能的人,也告诉我下好吗,谢谢,我同样会C币感谢的额,~~~~~ 以下是热心大佬提供的DEMO ------------------------------------------ 主网页 ``` <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <title> js test </title> </head> <body> <script type="text/javascript"> function check(c){ $(function() { var id = c.value; if(id.length==6){ $.post('server.php', {'id':id}, function(ret) { $('#result').html(ret); },'json'); } }); } </script> <p>id:<input type="text" id="id" value="" onPropertyChange="check(this)" oninput="check(this)"></p> <p id="result"></p> </body> </html> ``` ------------------------------------------ PHP网页 ``` <?php $id = isset($_POST['id'])? $_POST['id'] : ''; $data = array( 111111 => '内容1', 222222 => '内容2', 333333 => '内容3' ); $ret = isset($data[$id])? $data[$id] : ''; header('content-type:application/json'); echo json_encode($ret); ?> ``` -------------------------------------------------------------- 是不是那那些插入到这个里面呢? $data = array( 插到这里吗? ); ------------------------------------------ 查询的服务器是MSSQL(2014版本) $serverName = "192.168.12.3"; $connInfo = array("Database"=>"ERP2", "UID"=>"fiber", "PWD"=>"fiber"); $conn = sqlsrv_connect($serverName, $connInfo); 表结构 ------------------------------------------ ms1 ----------------ms2 ----ms3----ms4 ------------------------------------------ ABC12345CB0 ----aa ---- aaa ----aaaa ABC12345CB1 ----bb ----bbb----bbbb ABC12345CB2 ---- cc ---- ccc----cccc ------------------------------------------ -----------------分-割-线-------------------------- 需要写入的服务器是MYSQL(好像是5) 192.168.12.6 Database = ceshi 账号 root 密码 a ------------------------------------------ my1------------ my2----my3---- my4 ------------------------------------------ ABC12345CB0 ----aa ----aaa ----aaaa ABC12345CB1 ----bb----bbb----bbbb ABC12345CB2 ---- cc---- ccc ---- cccc ------------------------------------------ 假设我输入类似这样的 ABC12345CB0 11位数字,需要查询这这数值的另外三个字段ms2 ms3 ms4 各自对应的数值,并回传显示到输入的网页上,不知该如何填写那个SERVER.php语句,谢谢~~~
求大神帮忙看看ajax登陆无响应
![图片说明](https://img-ask.csdn.net/upload/201412/29/1419866606_75670.png) 演示视频里,点击登录,会调用alert,弹出一个框: ![图片说明](https://img-ask.csdn.net/upload/201412/29/1419866648_661594.png) 但是我的什么也不弹出,并且登录按钮变灰,无法再点击,除非清空输入框。 if判断能进去,我之前把这段ajax全删了,直接alert(name),能取到name值,说明能进if判断,但也许在执行ajax时出问题。IE的调试工具那里也不现实任何错误。 不好意思,我注册后没怎么用过,没有东西可悬赏的。。。
jQuery ,ajax,中文传值传不到的问题,第一次使用
<p> </p> <p>ajax.html,比如我把jsp中的tom改为张三,然后在ajax.html中可以输入张三,显示数据。但是显示不出,我也知道是编码的问题,但是不知道做,附件是jquery.js</p> <p> </p> <pre name="code" class="html">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;ajax.html&lt;/title&gt; &lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt; &lt;script type="text/javascript" src="/test/js/jquery-1.4.3.js"&gt; &lt;/script&gt; &lt;style type="text/css"&gt; body{font-size:13px} .divFrame{width:260px;border:solid 1px #666} .divFrame .divTitle{padding:5px;background-color:#eee} .divFrame .divTitle .clsShow{font-size:14px} .btn {border:#666 1px solid;padding:2px;width:80px; } &lt;/style&gt; &lt;script type="text/javascript"&gt; $(function(){ $("#Button1").click(function(){ //按钮单击事件 //打开文件,并通过回调函数返回嗠器响应后的数据 $.post("UserInfo.jsp",{name:encodeURI($("#txtName").val()),sex:encodeURI($("#selSex").val())} ,function(data){ $("#divTip").empty().html(data); }) }) }) &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div class="divFrame"&gt; &lt;div class="divTitle"&gt; name:&lt;input type="text" id="txtName"/&gt; &lt;br/&gt; sex:&lt;input type="text" id="selSex"/&gt;&lt;br/&gt; &lt;input id="Button1" type="button" class="btn" value="获取数据"/&gt; &lt;/div&gt; &lt;div class="divContent"&gt; &lt;div id="divTip"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </pre> <p> UserInfo.jsp</p> <p> </p> <pre name="code" class="html">&lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;My JSP 'UserInfo.jsp' starting page&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;% request.setCharacterEncoding("UTF-8"); String strName=request.getParameter("name"); String strSex=request.getParameter("sex"); String strHTML="&lt;DIV CLASS='clsShow'&gt;";//初始化保存内容变量 if(strName.equals("tom") &amp;&amp; strSex.equals("man")) { strHTML+="姓名:tom&lt;br/&gt;性别:man&lt;br/&gt;邮箱:abc@gmail.com&lt;br/&gt;&lt;hr/&gt;"; } strHTML+="&lt;/div&gt;"; response.setCharacterEncoding("text/html;charset=UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().print(strHTML); %&gt; &lt;/body&gt; &lt;/html&gt; </pre>
action响应ajax请求返回json类型执行不了success
我的action能响应ajax请求,但是不知道是返回的不是json还是其他的问题,就是执行不了success,代码如下: jsp代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <script type="text/javascript"> function change(proCode){ alert("1 "+proCode); $('#proCode').val(proCode); //让第一个下拉框保持显示选中的值 $('#cityCode').html(""); //把ci内容设为空 var cityValue = $('#cityCode'); cityValue.append('<option value="">选择CITY</option>'); $.ajax({ url: '/GP/address.action?proCode='+proCode, type: 'post', //data: {}, dataType: 'json', //async:false, cache:false, success: function(opts) { alert(opts.length); if (opts!=null && opts.length > 0) { var html = []; for (var i = 0; i < opts.length; i++) { html.push('<option value="'+opts[i].cityCode+'">'+opts[i].cityName+'</option>'); } cityValue.append(html.join('')); } }, error: function(){ alert("error !"); } }); } <body> <table> <tr> <td width="10%"> 省份&nbsp;&nbsp; </td> <td width="30%"> <select name="province.proCode" id="proCode" onchange="change(this.value)"> <option value="0">--请选择所在省份--</option> <s:iterator value="#request.prolist"> <option value="${proCode }">${proName }&nbsp;${proCode }</option> </s:iterator> </select> </td> </tr> <tr> <td width="10%"> 城市&nbsp;&nbsp; </td> <td width="30%"> <select name="city.cityCode" id="cityCode"> <option value="0" >--city--</option> </select> </td> </table> </body> </html> action代码: public class AddressAction extends ActionSupport { private static final long serialVersionUID = 1L; private IProvinceService proService; private ICityService cityService; private String proCode; private String opts; public String getProCode() { return proCode; } public void setProCode(String proCode) { this.proCode = proCode; } public String getOpts() { return opts; } public void setOpts(String opts) { this.opts = opts; } public IProvinceService getProService() { return proService; } public void setProService(IProvinceService proService) { this.proService = proService; } public ICityService getCityService() { return cityService; } public void setCityService(ICityService cityService) { this.cityService = cityService; } public String selectAddress() throws Exception { if(proCode==null)proCode=""; System.out.println("proCode="+proCode); List<City> citylist = cityService.findByProCode(proCode); List<Province> prolist = proService.searchAll(); if(proCode!=null&&proCode!="") System.out.println(citylist.get(0).getCityName()); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("citylist", citylist); request.setAttribute("prolist", prolist); HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter writer = response.getWriter(); JSONArray array = JSONArray.fromObject(citylist); opts = array.toString(); writer.print(opts); return SUCCESS; } } 求大神赐教,谢谢!
jquery的get,post等方法回调函数会自动把返回json格式的data转化为对象吗?
我服务器用express框架的res.json()响应,传入的参数是{code:'1',msg: '操作失败'},这个方法把对象转化为json后返回,而在前端,把jquery的ajax方法的回调函数传入data,确可以直接输出data.code这种对象属性? 是不是说jquery已经自动转化json为对象了,那如果格式不符合键值对的返回数据呢?
springmvc ajax json
刚开始学ajax。。。导入的jar包:jackson-mapper-asl-1.8.8.jar 和 jackson-core-asl-1.8.8.jar jsp代码 ``` <head> <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.9.1.js"></script> <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.9.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> <script type="text/javascript"> function ajaxTest(){ $.ajax({ data:"name="+$("#name").val(), //参数 type:"GET", dataType: 'json', //响应数据类型 url:"${pageContext.request.contextPath}/login/ajax.html", dataFilter:function(data,type) {console.log(data); console.log(type); }, error:function(data){ alert("出错了!!:"+data.msg); console.log(arguments); }, success:function(data){ alert("success:"+data.msg); $("#result").html(data.msg) ; console.log(arguments); } }); } </script> </head> <body> <input type="text" name="name" id="name"/> <input type="submit" value="登录" onclick="ajaxTest();"/> <div id="result"></div> </body> ``` controller代码: ``` @RequestMapping(value="ajax",method=RequestMethod.GET) public @ResponseBody Map<String,Object> login(HttpServletRequest request,HttpServletResponse response) throws IOException{ System.out.println(request.getParameter("name")); Map<String,Object> map = new HashMap<String,Object>(); if(request.getParameter("name").equals("123")){ System.out.println("成功"); map.put("msg", "成功"); }else{ System.out.println("失败"); map.put("msg", "失败"); } return map; } ``` 出现的错误 ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625783_473960.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625795_726463.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625803_56744.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446626003_354347.png)
有懂dwz的吗?我想删除后刷新dialog弹框中的数据,要怎么实现?
后台代码:删除后返回json toDwzJson(200, "删除成功","idds","/admin/team/activityPersonnelList/220","forward"); ![图片说明](https://img-ask.csdn.net/upload/201911/28/1574935481_676887.png) 数据删除成功,也响应了,但是弹框中的数据没有刷新
ajax定时访问服务器的action
主要想实现在系统管理员登陆后,能够通过ajax定时去查询服务器中数据库一张表里面一个字段的状态。有两个疑惑: 1 在jsp页面加入定时去访问服务器的JQUERY代码。但是不懂如何在管理员登陆入系统后,怎么触发这个写在jsp页面的方法。 2 服务器端响应ajax请求的action,只要将字符串返回就可以?
关于Ajax发送请求的问题
发送ajax请求,响应406 后台用springMVC3.0,注解配置@ReponseBody返回json数据。 前台用了Extjs,刚开始用火狐浏览器测试,一直都OK。今天突然想起来用IE来测, 结果就出现了这个问题,然后又用GOOGLE,也是如此。 后来写了个测试页面,用jquery来发,发现也是一样的情况。火狐ok,IE和GOOELE:406 之后在controller里,取消@ResponseBody注解, 直接用response设置setcontentType为json, 然后 response.getWrite().write()就OK了。 但是…………项目已经开发了一半了,这样去改要出人命的。 现在完全没方向,到底是浏览器兼容问题,还是springMVC配置问题呢? 求大神 伸大腿呀……………………
npm安装http-server后启动,无法进入给出的网页,提示网页发送的响应无效
![图片说明](https://img-ask.csdn.net/upload/201907/23/1563874665_674026.png) ![图片说明](https://img-ask.csdn.net/upload/201907/23/1563873785_612530.png)![图片说明](https://img-ask.csdn.net/upload/201907/23/1563873796_201714.png)奇了怪了。。我一直按照教程走的啊,为啥会这样,那个main.js里暂时还啥都没写.
用Echarts制作饼图没有显示。
用Echarts制作饼图没有显示,pie页面代码如下: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.11.3.js"></script> <script type="text/javascript" src="js/echarts.min.js"></script> <title>饼图例子</title> </head> <body> <div id="mainChart" style="width: 600px;height:400px;"> </div> <script type="text/javascript"> //使用ajax加载数据 $.ajax({ method : 'post', url : 'pie', dataType : 'json', success : function(data) {//data格式:[{name:nameValue,value:valueVal},...] initChat(data); } }); function initChat(data) { var myChart = echarts.init(document.getElementById('mainChart')); option = { backgroundColor: '#cccccc', color:["#D53A35","#296294"], title : { text : '用户性别聚合分析', x : 'center' }, tooltip : { trigger : 'item', formatter : "{a} <br/>{b} : {c} ({d}%)" }, legend : { orient : 'vertical', left : 'left', data : formatData(data).xAxData }, series : [ { name : '男女数量', type : 'pie', radius : '55%', center : [ '50%', '60%' ], color:['#297ca3','#c35b3b'], data : formatData(data).serData, itemStyle : { emphasis : { shadowBlur : 10, shadowOffsetX : 0, shadowColor : 'rgba(0, 0, 0, 0.5)' } } } ] }; myChart.setOption(option, true); }; function formatData(data) { var xAxData = []; var serData = []; for (var i = 0; i < data.length; i++) { xAxData.push(data[i].name || ""); serData.push({ name : data[i].name, value : data[i].value || 0 }); } return { xAxData : xAxData, serData : serData }; }; </script> </body> </html> ``` 我把这篇代码删掉,只输出个字符串,是可以显示的,把这个代码放上就不行了,我感觉应该是这篇代码的问题,我把Controller的代码放在下面: ``` package com.ssh.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class EchartsController { @RequestMapping("/topie") public String toPie(){ return "pie"; } @RequestMapping(value="pie",method= RequestMethod.POST) @ResponseBody //处理的是异步请求,并且响应的结果是json格式 public List<Map<String, Object>> getPieData() { List<Map<String, Object>> data = new ArrayList<>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "男"); map.put("value", "20"); data.add(map); map = new HashMap<String, Object>(); map.put("name", "女"); map.put("value", "30"); data.add(map); return data; } } ``` 找了很久,也没找到问题,求大神帮助!!!! 我的项目目录如下: ![图片说明](https://img-ask.csdn.net/upload/201912/28/1577517453_218697.png) 问题已解决: 应该是js文件没有引入,我开始调了很长时间都没有用,js那删了改 改了删 但最后还是和现在代码一样,但是可以显示了,昨天弄了很久都没弄出来,哎,具体原因,为什么会这样,我也不是很清楚,有懂得大神吗,求解答 结果现在是这样这样的 ![图片说明](https://img-ask.csdn.net/upload/201912/29/1577592792_561495.png)
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问