0

我正在使用 php,需要将这个模板内容 php 文件加载()到 jquery 中并将其传递给 #div ID 以呈现前端视图。

我不知道如何在 jquery 中加载 php 文件,然后将其作为名为 repeater 的变量传递,这有助于构建将加载的模板与 Ajax (obj) 查询结果相结合的所有行。

在设置警报中,它弹出为[object Object],没有模板。当我将整个 php 模板内容作为 var repeater 写入 jquery 时,它可以工作,但我不希望 jquery 中的所有 html。只需 load() 然后阅读。

如果这有任何意义,这是代码

$('#pageContent').load('../includes/OrderLookup.php #pageContent');
alert ($('#pageContent').load('OrderLookup.html #pageContent'));
var url = $('#pageContent').load('../includes/OrderLookup.php');
var page = '<div id="pageContent"></div>';
var repeater = $('#pageContent').load('OrderLookup.html #pageContent');

var pageBuildUp='';
for (x in dataArray){
     pageBuildUp += obj.repeater;
    //alert(obj.repeater);
    //pageBuildUp += url;
    pageBuildUp = pageBuildUp.replace('##transactionId##',makeTextSmall(dataArray[x]['blockvalue'],20));
    if (dataArray[x]['description']==''){
        pageBuildUp = pageBuildUp.replace('##orderTotal##','no total amount');
    }
4

1 回答 1

0

当您使用 jQueryload指定 URL 和 DOM 片段标识符时,它会返回 DOM 片段,这就是为什么它作为对象警报的原因。我的猜测是你期待一个字符串?为此,您需要从var repeater以下内容开始更改您的行:

var repeater = $('#pageContent').load('OrderLookup.html #pageContent')[0].outerHTML;

但是,您正在实施的想法听起来很危险:听起来您正在尝试在前端手动解析 PHP。首先,PHP 不会在被交还给你之前执行,剥离你的令牌吗?其次,使用纯 Javascript 进行模板解析是一种痛苦。JS 模板最近获得了巨大的关注,试图使您刚才描述的任务更容易。我个人推荐Mustache,这对我来说是一个福音。

于 2013-02-20T17:24:21.440 回答