使用ajax从js加载html

时间:2015-08-06 20:03:04

标签: jquery html ajax

我的AJAX调用出现问题。我想将html附加到现有的div:

var teaser = $(this);
var url = "http://..."

ajaxHandler.send({
  url: "//www...."
  dataFilter: function (data, type) {
    teaser.append($(data))
  }
});

问题是,我发送的URL(var url)给出了这样的JS响应:

document.open();
document.writeln('<div id=\"mydiv\" style=\"width:190px; height:160px\">');
document.writeln('   <img src=\"http:\/\/www.abc.gif\" width=\"190\" height=\"160\" alt=\"\" border=\"0\">');
document.writeln('<\/div>');
document.close();

我收到以下错误:

未捕获错误:语法错误,无法识别的表达式:document.open();

我正在使用jQuery 2.x

2 个答案:

答案 0 :(得分:2)

使用ajax请求,您总是会收到请求的全部内容 - 网址(可能还包含javascript),就像您的服务器发送它一样。它不执行javascript代码 - 它只是读取它返回的源代码。

为什么不把纯HTML放到你的文件中:

<div id="mydiv" style="">
    <img src="http://www.example.com/my.gif">
</div>

然后你应该没事。

答案 1 :(得分:0)

如果要从服务器获取脚本然后执行它,则应使用jquery getScript

您还可以使用load这样的功能:

$('#ad-container').load('script/location/on_server.php');

并从服务器返回这样的内容(即生成php以生成此代码):

    <div id="mydiv" style="width:190px; height:160px">
        <img src="http://www.abc.gif" width="190" height="160" alt="" border="0">
    </div>
相关问题