jQuery不加载响应

时间:2010-08-26 12:07:00

标签: c# javascript asp.net jquery

我通常使用ASP.NET MVC 2,但是它有一些问题,所以我开始使用ASP.NET MVC 2 + jQuery,一切正常。但是有一个问题,jQuery没有加载我的响应。在ASP.NET MVC方面,我正在查看部分视图,我也在客户端上得到了响应,但没有呈现任何内容。我该如何解决这个问题?

这是jquery代码:

function addCredential(state, id) {
var daten = getJson(state, id);
$.ajax(
    {
        type: "POST",
        url: "/Account/SetCredential/",
        data: daten,
        dataType: "json",
        success: function(partialView) {
            $('#Credentials').replaceWith(partialView);
            location.reload(); 
        }
    });
    return true;
};

function getJson(state,id) {
    var username = $('#username').val();
    return {"username": username, "credential_id": id , "state": state };
};

2 个答案:

答案 0 :(得分:3)

问题看起来像location.reload();

在您使用AJAX更新页面后重新加载页面,有效地将其状态恢复为之前插入内容.replaceWith()

的状态

更新:看起来你正在使用dataType: "json"并将其插入DOM?这可能也是一个问题。如果视图以HTML格式返回,则应将其替换为dataType: "html"

答案 1 :(得分:1)

@Konrad,尝试使用JSON2库(http://www.json.org/js.html)来警告成功函数中的“partialView”对象,以便在重新加载页面之前查看您获得的内容。另外,确保$('#Credentials')正在返回一个对象。当我在尝试选择页面上的元素时遇到问题时,我通常会检查返回的jQuery对象的长度值。如果length = 0,那么你没有得到元素。

更新: 此外,如果您尝试将HTML注入$('#Credentials'),则partialView可能不是正确的格式。 success函数接受一个对象参数,该参数来自解析您调用的Web方法的responseText,以获得您所谓的partialView。

更新: 使用$ .ajax查看http://encosia.com/2010/03/03/asmx-and-json-common-mistakes-and-misconceptions/以获取更多信息。这个博客上有很多很棒的信息。

更新: 这是我使用JSON lib查看返回的数据的方法。 警报(JSON.stringify(partialView));