0

我正在尝试通过 jquery.ajax 从后面的代码调用方法......但没有任何反应,没有调用错误只是方法。
也许重要的是要注意我使用 DotNetNuke。
jQuery(文档).ready(函数(){

    jQuery(window).scroll(function () {
        if (jQuery(window).scrollTop() == jQuery(document).height() - jQuery(window).height()) {
            InfiniteScroll();
        }
    });

function InfiniteScroll() {
        jQuery.ajax({
            type: "POST",
            url: "LoadItemsHandler.aspx/GetData",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                if (data != "") {
                    alert('comething happened! :)');                    
                }
            }
        })
    };

我试图将处理程序方法添加到.ascx.aspx但没有一个有效:

[WebMethod]
        public static string GetData()
        {
            return "<div><h2>I am comming in peace from code behind.</h2><p>Lorem ipsum dolor sit amet ... :)</p></div>";
...

我试图放入alert()InfiniteScroll()在滚动时调用它,但是后台方法......什么都没有:(



更新 1

public string Test(string input)
{
    var serializer = new JavaScriptSerializer();
    return serializer.Serialize(new { Name = input });
}
public static string GetData()
        {
            string json = Test("Mike");
            return json;
}

我得到:

Error:SyntaxError: JSON.parse: unexpected character



更新 2

好的,我明白了
从我返回的代码后面:

var serializer = new JavaScriptSerializer();
            return serializer.Serialize(new { NewTotal = "777", OfType = "love" });

在 ajax 调用成功时,我有:

success: function (data) {
                if (data != "") {
                    alert(data.d);
...

现在提供以下数据:

{"NewTotal":"777", "OfType":"love"}

现在我唯一的问题是如何获取NewTotalOfType重视,因为当我使用时,data.NewTotal我得到了undefined

4

3 回答 3

2

您不需要将结果转换为 JSON,它是自动的。序列化为 JSON

 [WebMethod()]
    public static object GetData()
    {
        return (new { NewTotal = "777", OfType = "love" });
    }

在 JS 上,像这样引用 newTotal

data.d.NewTotal
于 2013-09-01T13:01:36.607 回答
0

嗯,首先,在UserControl里面调用Page方法是不行的,所以应该在aspx页面中定义。

其次,检查firebug中的错误。

此外,请确保您是从同一页面调用的。

第三,使用网络服务 (*.asmx)

于 2013-09-01T11:12:41.947 回答
0

可以使用图书馆using Newtonsoft.Json;

JsonConvert.SerializeObject(Request["paramater"])
于 2017-06-21T01:01:12.390 回答