加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax返回data:text/plain,导致ajax回调success不执行

发布时间:2020-12-16 01:39:13 所属栏目:百科 来源:网络整理
导读:问题描述: 正常情况下,ajax post返回的数据应该在response中(请求为异步时),但是却有第二个,chrome中请求描述如下: name path | Method | status | Type data:text/plain,post,Data,Document 可能的原因分析 检查所有请求类型,响应类型,都已是json 有资

问题描述:

正常情况下,ajax post返回的数据应该在response中(请求为异步时),但是却有第二个,chrome中请求描述如下:
name path | Method | status | Type
data:text/plain,post,Data,Document

可能的原因分析

  • 检查所有请求类型,响应类型,都已是json
  • 有资料说jquery1.4之前版本没问题,之后版本返回json数据必须是严格json,例如:
{"info":{"code":0,"msg":"string msg"}}

而不是

{"info":{"code":0,"msg":"string msg"}}

解决问题
以上都不是问题所在,却发现alert(response.msg)是,调用了以下代码

var alert = window.alert;  
window.alert = function (message){  
    try {  
        var iframe = document.createElement("IFRAME");  
        iframe.style.display = "none";  
        iframe.setAttribute("src",'data:text/plain,');  
        document.documentElement.appendChild(iframe);  
        var alertFrame = window.frames[0];  
        var iwindow = alertFrame.window;  
        if (iwindow == undefined) {  
            iwindow = alertFrame.contentWindow;  
        }  
        iwindow.alert(message);  
        iframe.parentNode.removeChild(iframe);  
    }  
    catch (exc) {  
        return alert(message);  
    }  
}

这是坑死人不偿命啊,想来下,前人改造window.alert对象,可能是为了手机端上去挑弹出框上方不怎么好看的:“来自xxx.com网页的消息”, 直接去掉后问题解决,当然alert回到原始状态

注意
另外,如果一定要改造alert ,也可以但是要注意,浏览是否支持Data:Url 属性,大部分webkit的浏览器是支持的 看场景按需选择即可

更多Data:Url属性

data:,<文本数据> 
data:text/plain,<文本数据> 
data:text/html,<HTML代码> 
data:text/html;base64,<base64编码的HTML代码> 
data:text/css,<CSS代码> 
data:text/css;base64,<base64编码的CSS代码> 
data:text/javascript,<Javascript代码> 
data:text/javascript;base64,<base64编码的Javascript代码> 
data:image/gif;base64,base64编码的gif图片数据 
data:image/png;base64,base64编码的png图片数据 
data:image/jpeg;base64,base64编码的jpeg图片数据 
data:image/x-icon;base64,base64编码的icon图片数据 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读