4

在最近的一个问题中,我遇到了这个问题。我的代码是:

$("#SearchResults").load("/Invoice/InvoiceSearchResults/");

我被建议改用这个:

$.ajax({
        url: "/Invoice/InvoiceSearchResults/",
        type: 'GET',
        dataType: 'html', // <-- to expect an html response
        success: doSubmitSuccess
    });

和:

function doSubmitSuccess(result) {

$(".SearchResults").html(result);    

}

然后其他人好心地试图帮助我:

$.get(postUrl, function(data) {
            $("#posts").append(data);
            $('#ajaxLdMore').addClass('hideElement');
            $('#ldMore').removeClass('hideElement');
        });

原来我的问题是我在白痴abd使用选择器'#'而不是'。

我只是想知道我应该把我的代码换成这些吗?

每种方法都有真正的优缺点还是偏好?

有没有人发布的更好的方法?

我不是想展开一场激烈的辩论(我不这么认为:))——我只是想多了解一点。

谢谢

4

2 回答 2

3

两者都可以,但我个人依赖 jQuery 解决方案,因为它比 Microsoft AJAX 解决方案更持久耐用。甚至 MS 对 jQuery 的转变也非常明显,因为他们自己也非常喜欢这个库。

于 2009-10-07T19:21:51.793 回答
2

使用 $.ajax 为您提供了更大的灵活性。我发现这对于错误处理特别有用。

此外,如果您不在其他地方重用 doSubmitSuccess,您可以将其组合成一个代码块

$.ajax({
        url: "/Invoice/InvoiceSearchResults/",
        type: 'GET',
        dataType: 'html', // <-- to expect an html response
        success: function(result){
            $(".SearchResults").html(result);
        },
        error: function(err){
            //handle errors here
        }
    }); 
于 2009-10-07T19:33:02.457 回答