[英]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.