2010-11-07 75 views
1

在ASP.NET 3.5我有这个JavaScript的网页(Default.aspx的)上:在后面的代码(default.aspx.cs)ASP.NET 4 jQuery的AJAX调用的WebMethod

function getMoreNewsItems() { 
    $.ajax({ 
     type: "POST", 
     url: "default.aspx/LoadNewsItems", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      alert(msg.d); 
     } 
    }); 
} 

有了这个:

[System.Web.Services.WebMethod] 
public static string LoadNewsItems() { 
    return "test1"; 
} 

我在页面上有一个使用EnablePageMethods = true的ScriptManager。一切正常。

现在项目升级到ASP.NET 4.0并使用新的URL路由功能。 AJAX调用不再起作用。在FireBug中,我看到它返回完整的页面,而不是XML响应。

ASP.NET 4中可能导致此错误的更改有哪些?

回答

8

固定,

变化

url: "default.aspx/LoadNewsItems", 

url: '<%= ResolveUrl("default.aspx/LoadNewsItems") %>', 

它与URL路由做。

+0

如果它适合你,你可以接受你自己的答案。 – Chris 2010-11-09 02:03:04

相关问题