簡體   English   中英

從aspx.cs頁面的jquery帖子中獲取Null響應而不是json

[英]Getting Null response instead of json in jquery post from aspx.cs page

我正在開發一個簡單的應用程序,其中我使用jquery ajax post方法從default2.aspx擊中Request.aspx頁面,如下所示:

js頁面:

$(document).ready(function () {
$("#login").click(function () {
    var email = $("#email").val();
    var password = $("#password").val();
    $.ajax({
        type: "POST",
        url: "Request.aspx?Login=True",
        data: "{'username': '" + email + "','password': '" + password + "'}",
        cache: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            console.log(response);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            var url = "http://google.com";
            //$(location).attr('href', url);
        }
    });
});

});

Default.aspx:

<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>

<script src="Scripts/LoginCode.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
    <div class="container">
        <div class="main" id="loginform">
            <label>
                Email :</label>
            <input type="text" name="demail" id="email" />
            <label>
                Password :</label>
            <input type="password" name="password" id="password" />
            <input type="button" name="login" id="login" value="Login" />
        </div>
    </div>
</div>
</form>
</body>

Request.cs頁面:

 protected void Page_Load(object sender, EventArgs e)
{

    if (Request.QueryString["Login"] != null)
    {

            test();

    };

}



private string test()
{
    var response = new ResponseResult();
    var javaScriptSerializer = new JavaScriptSerializer();
    response.Status = -1;
    response.ErrorMessage = "";
    response.Action = "UserProjects";
    response.Data = "The Username or password you entered is not valid";
   return javaScriptSerializer.Serialize(response);
}

public class ResponseResult
{
    public string Action { get; set; }
    public int Status { get; set; }
    public string ErrorMessage { get; set; }
    public object Data { get; set; }
}

問題:作為響應,NUll即將到來,但是我應該是json。 請讓我知道我要去哪里錯了。

如果您需要更多信息,我會盡力提供。

提前致謝。

使用Restful Web服務或Web方法從AJAX進行調用是一個好主意。

但是您仍然可以執行以下操作。

使用Response.Write()而不是返回字符串。

使用此代碼。

private void test()

{
    var response = new ResponseResult();
    var javaScriptSerializer = new JavaScriptSerializer();
    response.Status = -1;
    response.ErrorMessage = "";
    response.Action = "UserProjects";
    response.Data = "The Username or password you entered is not valid";
    string result = javaScriptSerializer.Serialize(response);

    Response.Clear();
    Response.ContentType = "application/json; charset=utf-8";
    Response.Write(result);  //write json string to output   
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM