AJAX - 调用指向另一个页面的函数

时间:2016-05-13 13:32:33

标签: javascript jquery html ajax

我有这个javascript函数,

此View功能是一个简单的功能,可以让我进入我的视图页面。

function View(URLPath) {
    $.ajax({
        url: URLPath,
        type: "get",
        dataType: "text"
    }).done(function(data) {
        $('#viewcontainer').html(data);
    });
}

另一个是一个让我添加的简单功能。

function Add(URLPath) { 
    var data = $("#Form").serialize();
    $.ajax({
        type: "post",
        data: data,
        url: URLPath,
        complete: function(responseData){       
            View(ROOT_URL + '/view');
        }
    });
}

添加数据后,我希望它返回到我的视图页面。这将显示数据已添加。

因此,在Add函数的完整部分中,我调用了View函数。

complete: function(responseData){       
        View(URL + '/view');
    }

问题是它不会加载。它会把我带回我的主页。

我认为这是因为add函数在另一个页面中,当我在完整部分中调用View函数时,它将找不到id = #viewcontainer

视图页面将如下所示

<div id="viewcontainer">
HERE IS THE VIEW
</div>

添加将如下所示

<p>THIS IS ADD</p>

修改 文件已经包含在内。

2 个答案:

答案 0 :(得分:0)

如果您的viewcontainer在view.html中并且您正在尝试设置$('#viewcontainer')。html(data);在你的home.html页面;然后它不会起作用,因为它不在范围内,并且不为上下文所知。

答案 1 :(得分:0)

您应该在调用它的地方加入View函数。如果这个script文件在调用的同一页面中包含或简单的复制/粘贴功能。

最终在浏览器上渲染时,

Javascript在同一页面上需要函数。

如果找不到View(ULR)功能,您会在console上收到错误,例如function not defined

如果您的功能存在于同一页面上且未找到div id,则您还会在控制台上收到错误。