2 jiansva jiansva 于 2016.04.29 10:09 提问

【求助】ajax返回js如何输出?

ajax返回了一个js引用:

 <script src"http://localhost/test.js"></script>

这个js本身显示一段文件。但把这个引用放到页面中时,页面中只存在这段引用字符,不会将js本身应该输出的文字展示出来。该怎样解决这个问题呢?

7个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.04.29 10:15
 dateType设置成script
 或者用eval执行
jiansva
jiansva 可否给个demo?我返回的数据中包含<script type="text/javascript" src="js.js"></script>
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.29 10:22

JS ajax返回数据问题
纯js的ajax readyState不返回4,jquery的$.ajax执行error,status200且数据可显示
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

jiansva
jiansva   2016.04.29 10:21

$.ajax({
url: "/login/index",
type: 'post',
data: {'username':username,'password':password,'url':url},
dataType: 'json',
success: function(data) {
if(data.code!= '00000' ){
alert(data.msg);
}
}
})
目前时这样处理的,data.msg就是

u012793146
u012793146   2016.04.29 10:25

同过js动态加载一次

                var filename = 'http://file.js'
                var fileref = document.createElement('script');
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src",filename);
                document.getElementsByTagName("head")[0].appendChild(fileref);
jiansva
jiansva <script type="text/javascript" src="js.js"></script>是ajax返回的,我将src提取出来。然后在前台页面的js中通过你说的这种方式加载,好像没有作用。不过我是document.body.appendChild(fileref);
一年多之前 回复
anbailong
anbailong   2016.04.29 10:30

可以 document.write() 这种办法把返回的字符串输出出来,但是一定要考虑好页面覆盖问题。

为什么不把显示的东西 放到返回的 ajax里 为什么又要调一个 js的引用 ?

jiansva
jiansva 返回的<script type="text/javascript" src="js.js"></script>就是在ajax里面
一年多之前 回复
jiansva
jiansva   2016.04.29 11:15

看来只能使用虫虫教父的方法试试了

showbo
showbo   Ds   Rxr 2016.11.16 11:53

如果你用的是jquery,html后会自动帮你加载script指定的src文件,如果是js设置innerHTML不会加载js的,只能自己分析script获取src的内容动态创建script进行加载
参考:如何给script标签增加可执行的javascript代码

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!