jquery was not called 解决办法
1、今天写ajax请求时需要跨域请求,开始的代码如下:
前端代码:
var url = "http://localhost:8080/wechat/wxtestsurvey/getTestList.dol";
$.ajax({url:url, type:'POST',cache:false,data:{"openId":openid}, dataType: 'jsonp',jsonp:'jsoncallback',crossDomain: true,success:function(data) {
alert(data);},
error: function(XMLHttpRequest, textStatus, errorThrown){//alert("系统维护中,请稍后再试!");alert(XMLHttpRequest.status); // 200 alert(textStatus); // parsererror alert(errorThrown); // SyntaxError: Unexpected end of input }});
java代码:
@RequestMapping(value = "/getTestList", produces = "application/json;charset=utf-8")@ResponseBodypublic String getTestList(String openId,HttpServletRequest request){String jsoncallback = request.getParameter("jsoncallback");// 客户端请求参数JSONObject json = new JSONObject();HashMap<String,Object> map = new HashMap<String, Object>();map.put("name", "nick");map.put("age", "23");map.put("sex", "M");map.put("code", "0");return jsoncallback + "("+JSONObject.fromObject(json)+")";}
结果走的却是ajax的error,真的另外百思不得其解。弹出的结果如下:
Error: jQuery19105265967122703629_1498552272260 was not called
但是看响应确实返回的也是json字符串,结果如下:
"jQuery19108484969351256605_1498551586758({\"code\":\"0\",\"name\":\"nick\",\"age\":\"23\",\"sex\":\"M\"})"
嗯!你没有看错,这是真正的字符串。
去找度娘,找啊找啊找啊!整整找了一天,一天啊!
不过却没有结果。
网上有很多说法,但是他们说的我都符合要求,但就是没啥用;
第二天我重新再找,然后我看到了$.getJSON()也可以进行跨域请求,然后我试了,
结果还是一样,就是没有成功。
我整个人快奔溃了,一个这个问题弄了这么久;
慢慢我冷静下来,我想起了我以前也写过跨域的后台代码,但是好像和这个不一样,我开始翻以前写的代码,嗯!被我找到了,然后我试着用了,我对此并不抱很大的希望,真的!但是成功了,我勒个去,心中顿时十万草泥马飞奔而过。
更改过后的代码如下:
@RequestMapping(value = "/getTestList", produces = "application/json;charset=utf-8")@ResponseBodypublic void getTestList(String openId,HttpServletRequest request,HttpServletResponse response){String jsoncallback = request.getParameter("jsoncallback");// 客户端请求参数String result = "";JSONObject json = new JSONObject();HashMap<String,Object> map = new HashMap<String, Object>();map.put("name", "nick");map.put("age", "23");map.put("sex", "M");map.put("code", "0");result = jsoncallback + "("+JSONObject.fromObject(json)+")";try {response.getWriter().print(result);} catch (IOException e) {logger.info("异常:",e);}}
其响应的数据如下:
jQuery19104063224993617034_1498551266153({"code":"0","name":"nick","age":"23","sex":"M"})
最后响应成功了!
我写这个一是为了给自己一个警告,二是希望能帮助遇到和我一样情况的朋友。
说说原因吧!
因为第一次返回它是一个纯真的字符串,不算是json字符串。
第二次返回的才是json字符串;
至于为啥,还有待研究。
jquery was not called 解决办法相关推荐
- ajax--->请求异常 jQuery提示parsererror错误解决办法
请求异常 jQuery提示parsererror错误解决办法 参考文章: (1)ajax--->请求异常 jQuery提示parsererror错误解决办法 (2)https://www.cnb ...
- 引入jQuery后$冲突的解决办法
网站开发中的javasript部分,现在的开发人员很少有再去手工写document.getElementById()的了吧,那还不得累死,你还真别说,getElementById还真不好写,字母还挺多 ...
- mui 与jquery 同时使用,$冲突解决办法。
(function($,doc,$$) { ..... }(mui, document, jQuery)); 使用$$代替jQuery. var $$=jQuery.noConflict();此方法也 ...
- 解决$.ajax()请求异常~ jQuery提示parsererror错误解决办法
在前端通过ajax请求后台之后返回的时候,出现了下面的异常: error: function(req, textStatus, errorThrown){} req: textStatus:" ...
- jquery.min.map 404 (Not Found)出错的原因及解决办法
Chrome 更新后出现了 jquery.min.map 404 (Not Found) 的信息 这个到底是什么东西?查询了一下,得到了以下资料 JQuery 官方解释 摘录一下內容 从 jQuer ...
- 关于jquery动态改变css样式后,对象获取不到的解决办法
2019独角兽企业重金招聘Python工程师标准>>> 情况如下: <!DOCTYPE html> <html><head><meta ch ...
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- 因为返回有true ajax提示进入错误,jquery ajax中error返回错误解决办法
转自:https://www.jb51.net/article/72198.htm 进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个 ...
- ECSHOP中transport.js和jquery的冲突的简单解决办法
ECSHOP中transport.js和jquery的冲突的简单解决办法 一流资源网近日在ECSHOP网站加入了几个JS特效代码,在谷歌.火狐下正常,在各版本IE下都不常,左思不得其解. 最后才知道原 ...
最新文章
- 想学习编程,我是如何入坑python的?
- 对称加密和非对称加密介绍和区别
- 运算服务器v9型号,v9云服务器
- 推荐系统入门:作为Rank系统的推荐系统(协同过滤)
- VHDL 整数 小数 分数 分频
- 《C++ Primer 第五版》(第1~6章总结)
- nacos 服务日志_如何屏蔽Nacos日志输出?
- opencv大津算法二值化
- Diamond软件的使用(5)--建立Modelsim仿真环境
- java 调用 CXF 报错 java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLReader.readWSDL
- openfeign远程调用接口报错:feign.codec.DecodeException: Error while extracting response for type
- LDPC编码原理概述
- Java面试题及答案整理-肝天-肝帝-干面试管~
- npm --save和--save-dev区别
- Nodejs用户登录,退出案例
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序...
- 有效的网络推广超级实用方法
- android activity pause,关于android:onPause()和onStop()在Activity中
- 023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于C程序课程的题库在线平台81wd2
- 对数据库要求最苛刻的金融行业,这套架构凭什么异军突起?