【发布时间】:2013-12-02 20:05:57
【问题描述】:
有很多基于这个问题的问题,我已经阅读了几乎每一个问题,但他们的解决方案似乎都不起作用。
我已经尝试更改几乎所有可能的数据语法,最后我删除了给定的数据属性,但这仍然没有解决我的问题!
Í 使用 jquery.Ajax 的经验并不丰富,但在我看来一切都是正确的!
这种完全相同的情况似乎更频繁地发生,导致错误的代码位于 1.8 版以上的 Jquery 库中。
所以我已经将我的版本 1.9 更改为 1.5.2,它应该可以工作,但它仍然抛出这个语法错误! :(
JAVASCRIPT 代码:
function ProcessLoginRequest() {
try
{
var pw = document.getElementById('<%= I_Password.ClientID %>').value;
var un = document.getElementById('<%= I_Username.ClientID %>').value;
var enc = CryptoJS.SHA256(pw);
$.ajax({
type: "POST",
url: "~/User/Login.aspx/AJAX_LoginProcedure",
data: "{}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.d);
}
}).done(function () {
alert("done");
});
} catch (e) {
alert(e);
}
}
ASP.NET C# 代码:
[System.Web.Services.WebMethod]
//[System.Web.Script.Services.ScriptMethod(UseHttpGet = true, ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
public static string AJAX_LoginProcedure()
{
string Username = string.Empty;
string Password = string.Empty;
string SQL_ConnectString = ConfigurationManager.ConnectionStrings["DBString"].ConnectionString;
string SQL_PW = WWLTemplate.SQL_FUNC.GET("Password", "Username", "=", Password, "DBName", SQL_ConnectString).ToString();
if (Password == SQL_PW)
{
return true.ToString();
}
else
{
return false.ToString();
}
}
数据语法:
- [{用户名:un,密码:enc}]
- [{“用户名”:un,“密码”:enc}]
- "{'用户名':'" + un +",'密码':'" + enc + "'}"
我还尝试了 JSON.stringify() 与其中的每一个 + 更多选项。
我真的没办法了,你们能发现我可能犯的语法错误吗?
我已经阅读了文档并尝试了一大堆不同的方法,但我就是找不到可行的方法! :(
感谢您的宝贵时间!
-R
编辑: 问题出在 javascript 方面,它不断抛出 SyntaxError: JSON.parse: unexpected character 错误。即使代码是空白的。
【问题讨论】:
-
在浏览器上打开开发者工具/Firebug,然后在网络选项卡中查看响应 ajax 调用。在您的问题中包含回复。
标签: javascript jquery asp.net ajax json