在使用 Web 服务和 ajax jquery 时遇到插入错误



当我用HTML填写表格时,我遇到错误500。我的网络服务无法正常工作。当我复制粘贴URL并在新表中打开时,它会显示以下错误。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public void addNewUser(string name,string address,string email, string phoneno, string pin)
{
JavaScriptSerializer ser = new JavaScriptSerializer();
string Message = "";
try
{
using (MySqlConnection connection = new MySqlConnection(DBconnect.ConnectionString))
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO users(name,address,email,phoneno,pin) VALUES(@name,@address,@email,@phoneno,@pin)", connection);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@email", email);
cmd.Parameters.AddWithValue("@phoneno", phoneno);
cmd.Parameters.AddWithValue("@pin", pin);
connection.Open();
cmd.ExecuteNonQuery();
connection.Close();
}
Message = "New User is added Successfully.";
}
catch (Exception ex)
{
Message = "Not Added";
}
var JSonData = new
{
Message = Message
};
HttpContext.Current.Response.Write(ser.Serialize(JSonData));
}
<script type="text/javascript">
$(document).ready(function () {
$("#btnAdduser").on('click', function (e)
{
e.preventDefault();
var All_users = {};  
All_users.name   = $('#name').val();  
All_users.address = $('#address').val();  
All_users.email  = $('#email').val();  
All_users.phoneno  = $('#phoneno').val();  
All_users.pin    = $('#pin').val();  
var jsonData = JSON.stringify({
All_users: All_users
});
$.ajax({
type: "POST",
url: "http://localhost/WebApi/WebService.asmx?op=addNewUser",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response) {
var result = response.d;
if (result == "success") {
$("#msg").html("New record addded successfully  :)").css("color", "green");
}
$("#name").val("");
$("#address").val("");
$("#email").val("");
$("#phoneno").val("");
$("#pin").val("");
}
function OnErrorCall(response) {
$("#msg").html("Error occurs  :(").css("color", "red");
}
});
});
</script>

*

系统无效操作异常:缺少参数:名称。 在 System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection 集合)在 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

*

我尝试重现您的情况。 问题是UseHttpGet = true,更改为UseHttpGet = false,并在类[System.Web.Script.Services.ScriptService]中检查该属性 并通过这样的WebService.asmx/addNewUser更新您的 AJAX 调用,它有效

<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<button id="btnAdduser">Test</button>
<script type="text/javascript">
$(document).ready(function () {
$("#btnAdduser").on('click', function (e)
{
e.preventDefault();
var All_users = {};  
All_users.name   = "Hien";  
All_users.address = "Test";  
All_users.email  = "Test";  
All_users.phoneno  = "Test";  
All_users.pin    = "123";  
var jsonData = JSON.stringify({
data: All_users
});
$.ajax({
type: "POST",
url: 
"http://localhost/WebApi/WebService.asmx/addNewUser",
data: JSON.stringify(All_users),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response) {
var result = response.d;
if (result == "success") {
$("#msg").html("New record addded successfully  :)").css("color", "green");
}
$("#name").val("");
$("#address").val("");
$("#email").val("");
$("#phoneno").val("");
$("#pin").val("");
}
function OnErrorCall(response) {
$("#msg").html("Error occurs  :(").css("color", "red");
}
});
});
</script>

相关内容

  • 没有找到相关文章

最新更新