jquery通过ajax方法获取json数据不执行success

1.jquery通过ajax方法获取json数据不执行success回调

问题描述:jquery通过ajax方法获取json数据不执行success回调方法

问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法

解决方案:使json格式务必符合下述3个标准写法:
         1)键名称:用双引号括起;
       2)字符串:用双引号括起;
       3)数字,布尔值不需要使用双引号括起 ;

注意:一定是双括号!

2.jQuery中ajax使用json数据类型总是跳过success执行error语句

执行函数

error : function(XMLHttpRequest, textStatus, errorThrown) {

//这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
    alert(XMLHttpRequest.responseText);
           alert(XMLHttpRequest.status);
           alert(XMLHttpRequest.readyState);
           alert(textStatus); // parser error;
}

就明白错误信息了;

弹出的框里显示:<!DOCTYPE html PUBLIC "-//W3C
//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD
/xhtml1-transitional.dtd">以
及<?xml version="1.0" encoding="gb2312" ?>这两句话,虽然不清楚为什么,我删除之后,就成功执行
success了

3.$.ajax()中的URL跨域时,总是不执行success,老进入error

1)我加上ServletActionContext.getResponse().setHeader("Access-Control-Allow-Origin", "*");
解决跨域问题,就顺利进入success了

2)dataType:"json",
去掉 看能进success 不 。

dataType 是预期服务器返回过来的信息类型 。

原因:返回的数据类型一定要符合定义的数据类型。即如果你定义的 dataType 是 json 类型的,那么返回来的数据一定是 json 才可以,平且不然就会执行 error 里的程序块儿。
   (1) 同时需要特别的注意返回的JSON数据是否是严格的JSON格式.
   (2) 也应该严重关切当后台返回的是一个List 数据(List当中的数据是Json格式)时,有没脏数据即不是严格的JSON格式。

时间: 2025-01-16 03:56:02

jquery通过ajax方法获取json数据不执行success的相关文章

jquery通过ajax方法获取json数据不执行success回调

问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法:      1)键名称:用双引号括起:    2)字符串:用双引号括起:    3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号!

jQuery通过ajax获得后台json数据给form表单赋值

jQuery提供了load方法可以将数据加载到页面form表单中,但有时候我需要获取后台json数据中某个值时,又需要赋值整个form表单,load方法没有回调函数所以就不行了,如果用ajax调用的话,获得后台json数据后把json数据分析出来在一个个的赋值到form表单的每个文本框中,这样未免太过复杂和太多代码,所以我根据了一些大神的回答,总结了一个很好用的jQuery函数. jQuery-load方法调用: $('#form').form('load',URL); 页面表单: <span

jquery之getJSON方法获取中文数据乱码解决方法

最近公司做的东西要用到js,感觉js太繁琐,所以自己学起了jquery,发现jquery确实强大.在学到jquery ajax的时候(用的工具是eclipse),发现$.getJSON()方法请求服务器的json数据(有中文),返回到浏览器页面是乱码,怎么办呢? 原因是浏览器编码和服务器里的json数据编码不一致, 1.对着项目右键,properties,将text file encoding,改为utf-8.这时访问页面,发现还是乱码.我们还需要一步. 2.对着json文件,右键,proper

JQuery的ajax方法获取返回值得到了值还包含了不要的html源码 (Ajax相关知识)

因为后台使用了response.Write():这个方法,当输出完了以后,没有结束掉会继续输出,所以需要用到response.End():这样问题就解决了 jquery的ajax 除了通过url传值,后台用respon.querystring[""]来获取 还可以通过data 中的数据 传值,后台用respon.Form[""]来获取

使用jquery的ajax方法获取下拉列表值

AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,用户体验非常好. 下面介绍两种动态加载DropDownList值的方法. 第一种: View层 <select id="funcNum" name="funcNum"></select> <script> $(document).ready(funct

用jquery的ajax方法获取不到return返回值

/** * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return * 结果:返回 2.成功获取返回值 * 成功原因:先执行result = 2;再往下执行return result; */ function checkAccount3(){ var result = 1; $.ajax({ url : 'test.do', type : "post", data : {}, async : false, success : function(da

jQuery异步获取json数据的2种方式

jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法.本篇体验使用这2种方式异步获取json数据,然后追加到页面. 在根目录下创建data.json文件: { "one" : "Hello", "two" : "World" } ■ 通过$.getJSON方法获取json数据 <script src="Scripts/jquery-2.1.1.min.js"

前端学习——使用Ajax方式POST JSON数据包

0.前言 本文解释如何使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择).POST JSON数据包相比标准的POST格式可读性更好些,层次结构也更清晰. 为了说明问题,前端和后端较为简单,重点突出AJAX的应用. [前端]--add-post-json.html 图1 add页面 [后端]--add-post-json.php <?php // 返回JSON格式 header('Content-Type:application/jso

jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表

对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码. 需求:url:链接     par:ID       sel:下拉列表选择器 function BuildSelectBox(url, par, sel) {  $(sel).empty();  $.getJSON(url, { id: par }, function (json, textStatus) {   for (var i = json.length - 1; i >= 0; i--) {