您的位置:首页 > Web前端 > JavaScript

js跨域问题

2014-03-25 11:57 567 查看
今天项目里边用到js跨域的问题,废话不说代码如下:

接收请求端:

www.a.com/a.php

echo 'sms_jsout_callback(11)';

发送请求端:

www.b.com/b.php

<script type="text/javascript">
    function sms_jsout_callback(smsresult) {

        //弹出返回数据

        alert(smsresult);
    }
    function jsoutcall(url) {

        //创建节点

        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = url;
        var jsoutscript = document.getElementById("jsoutscript");
        jsoutscript.replaceChild(script, jsoutscript.firstChild);
    }
</script>
 <input type="button" value="vali!" onclick="jsoutcall('www.a.com/a.php');" />

 <input type="button" value="send!" onclick="jsoutcall('www.a.com/a.php');" />
 <div id="jsoutscript" style="display:none">AA</div>//AA内容不可去掉,否则jsoutscript.firstChild取不到div节点

遇到问题:

这些代码放在本地测试没有问题,放在线上后,报这样的一句错误(Argument 2 of Node.replaceChild is not an object.), 哎呦这我就纳闷了,没办法找原因吧,找了半天发现,本地输出jsoutscript.firstChild 是一个对象,在线上输出确实一个空的,错误肯定出在这里,查找firstChild函数发现,问题出在这句话上 <div
id="jsoutscript" style="display:none">AA</div>,在本地测试里边随便写了内容在里边,放在线上把AA这些内容删除了,造成jsoutscript.firstChild获取不到div这个节点,存在即是合理啊,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: