2012-03-18 148 views
2

我tryed使用一些AJAX在我的母版页文件,但得到这个错误:在母版页ASP.NET的AJAX

http://localhost:15354/website/MasterPage.master/Login无法加载资源:服务器与403(禁止)

状态回应

我红了一些论坛,我们不能从一个母版页调用具有AJAX功能是这样的:

function Login() { 
     var obj = new Object(); 
     obj.user = ""; 
     obj.pass = ""; 

     $.ajax({ 
      type: "POST", 
      url: "MasterPage.master/Login", 
      data: JSON.stringify(obj), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (result) { 
       alert("success"); 
      }, 
      error: function(){ 
       alert("error"); 
      } 
     }); 
    } 

这里是我的代码功能behin d:

[WebMethod] 
public static string Login(string user, string pass) 
{ 


    return ""; 
} 

我该怎么做?

非常感谢!

回答

3

更好的是为此设置webservice并从ajax请求调用webservice url。


$.ajax({ 
    /// <summary> 
    /// Perform an asynchronous HTTP (Ajax) request 
    /// </summary> 
    type: "POST", 
    url: "AjaxServer.asmx/Login", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(response) { 
     /// <summary> 
     /// when success 
     /// </summary> 
     alert(response.d); 
    }, 
    failure: function(msg) { 
     /// <summary> 
     /// when there is an error 
     /// </summary> 
     alert(msg.d); 
    } 
});​ 
+0

我创建了一个WebService.asmx,现在IM刚开了未知的Web方法登录。参数名称methodName' – JoRouss 2012-03-18 07:56:55

+1

成功!我不得不r从我的方法在asmx文件中反复“静态” – JoRouss 2012-03-18 08:05:23

+0

您的网址更改不起作用艰难,解决方案是asmx – JoRouss 2012-03-18 08:05:54

1

移动服务器端代码给助手页面,即webmethods.aspx有调用它来代替。

3

您可以创建的.ascx登录信息,并调用AJAX有

+0

谢谢,我没有想到这一点。 – JoRouss 2012-03-18 19:16:42

1

母版页都没有的有自己的 母版页方法调用的生命在继承主 所以你可以从任何页面调用你的方法,所有的页面使用母版页

$阿贾克斯({ 网址: '为Login.aspx /登录', 类型: 'POST',...