gpt4 book ai didi

javascript - 如何解决此 WCF/AJAX 问题? (访问数据库时出现 400 Bad Request 错误)

转载 作者:太空宇宙 更新时间:2023-11-04 15:32:37 25 4
gpt4 key购买 nike

我对 AJAX 和 JavaScript 还很陌生,所以请耐心等待。我想使用 AJAX 调用将新的用户对象发送到 WCF C# 方法,然后该方法在 SQL Server 数据库中创建用户,然后让 C# 将验证对象发送回 AJAX 调用(包含用户已成功创建或未成功创建的消息)。

这是我的 AJAX 代码:

$("#createUserCallButton").click(function () {
var reply = $.ajax({
url: "http://localhost/userservice/user.svc/createuser",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
data: JSON.stringify({
"username": "ThisIsMyUsername",
"password": "ThisIsMyPassword"
}),

success: function (data) {
console.log('success');
console.log(reply.responseText);
},
error: function (error) {
console.log('failure');
console.log(error);
},

});
});

这是我的 C# 代码:

public class User
{
[DataMember]
public string username { get; set; }

[DataMember]
public string password { get; set; }
}



[OperationContract]
[WebInvoke(Method = "*", UriTemplate = "/createuser",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
Validation Create_User(User json);



public Validation Create_User(User user)
{
Validation validation = new Validation { PassesValidation = true, Reason = ("") };

dataAccessor.CreateOne_User(user);

return validation;

}

现在当我注释掉这一行时...

        dataAccessor.CreateOne_User(user);

它将 Validation 对象返回到控制台窗口并报告成功。但是,当存在此行时(并且代码将开始创建用户),AJAX 调用将返回失败并显示以下错误:

Failed to load resource: the server responded with a status of 400 (Bad Request)

但是,即使它报告失败,用户也已在数据库中成功创建,因此我认为问题不在于数据库部分。

我认为这归结为我对 AJAX 的理解上的差距。我已经详细研究过这个问题并观看了无数的教程视频,但我仍然在挣扎。如果有好心人能想出解决这个问题的方法,我将不胜感激。

谢谢!

最佳答案

由于在注释下面的行时它返回验证对象,我怀疑执行下面的语句时应该有错误。也许您可以添加 try catch block 或日志来确定代码到底在哪里中断。

'dataAccessor.CreateOne_User(用户);'。

关于javascript - 如何解决此 WCF/AJAX 问题? (访问数据库时出现 400 Bad Request 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com