关于ajax明明成功却进入error

本文是在php中遇到的ajax问题,我们明明传了一个json给ajax,但却不能在success中alert数据,却进入了error,网上有很多关于这种问题的解决方法,比如json错误等等!但我参考了他们的解决方法都没有解决,最后发现因为在返回json之前我返回了一个不是json的数据,如何你也遇到这样的问题,网上解决方法都没有用时,不妨回去看看程序有没有我这样的问题。

时间: 2024-11-25 15:19:46

关于ajax明明成功却进入error的相关文章

ajax请求成功返回200,但还是进入error事件

ajax请求成功返回200,但还是进入error事件. 出错原因: 前台dataType:"json",而后台返回的数据不符合json规范. 解决方案有两种: 1.前台:让ajax数据返回类型为text而不是json:即dataType: "text"; 2.后台:修改后台返回值 原文地址:https://www.cnblogs.com/Fourteen-Y/p/11307392.html

jquery ajax请求成功,返回了数据,但是不进success的问题 【转】

这几天一直被 ajax请求成功,返回了数据,但是不进success的问题困扰着,怎么弄就是解决不了,总以为 是:$(document).ready(function(){});没起作用,一直找页面加载的方法来试,整了好几天没整出来....今天比较幸运, 在网上找到了一篇关于这方面问题的文章,按上面的方法一试,果然ok了,哈哈哈,真是太高兴了....终于解决这个问题了. 这个问题的原因(来自http://www.myexception.cn/ajax/413061.html的拷贝内容): ----

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

前台ajax请求php后台返回成功却进error方法解决

最近几天一直都在解决error问题,周末都没能好好过,悲痛万分,想逃走??..... 一.悲痛的开端 项目用jQuery的ajax方法请求php后台,前台代码写的没有问题,后台返回的json数据大概也是对的(猜的,后来验证了json是对的),然后悲剧就如约而至: 先看核心代码: $.ajax({ type:"POST", url:"{:U('City/adds')}", data:{}, dataType: 'json', success:function(data

ajax请求成功后新窗口window.open()被拦截的解决方法

ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截. 解决方法: 1.异步改为同步,即:async:false 2.将新开窗口指向为一个对象,然后修改对象的 ur

jquery中ajax使用error调试错误的方法,实例分析了Ajax的使用方法与error函数调试错误的技巧

代码:$(document).ready(function() {            jQuery("#clearCac").click(function() {                jQuery.ajax({                    url: "/Handle/Do.aspx",                    type: "post",                    data: { id: '0' }

$.ajax()中的success和error的使用注意事项

$.ajax({})中的success()函数是ajax向后台请求成功后自动调用的,在success(response)函数里面的变量只有一个,response是后台返回来的值. 当后端没有给前端传回值时,$.ajax()中不会执行success,执行的是error. 在项目中,当后端servlet没给前端传回一个值时,$.ajax()执行的是error里面的程序:故特地设计给前端传回一个字符串"true". 原文地址:https://www.cnblogs.com/mshanBlog

ajax请求成功,状态却是200

AJAX状态为200,这类状态代码表明服务器成功地接受了客户端请求.简单的来说成功发送一个AJAX请求,但是就是不进入success事件,进入error事件. $.ajax({ type:'POST', url:"{:url('Cases/vr_load')}", data:{'page':page}, dataType:'JSON', success:function (res) { console.log(res); }, error : function(XMLHttpReque

ajax请求成功后打开新窗口地址

转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({       "type":"post",       "url":"http://www.baidu.com",       "success":function(rel){            if(rel.isSuccess){                 window.