作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JavaScript 代码
function new_person_adder1() {
var dataAjax = {
'entry_new_person_': $('#entry_new_person_1').val(),
'pop_new_person_identity_no': $('#pop_new_person_identity_no1').val(),
'identity_type_no': $('#select2_identity_type_bc_for_new_person_1').val()
};
jQuery.ajax({
url: 'WalkReserve.aspx/quick_person_entry',
type: 'POST',
data: JSON.stringify(dataAjax),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
console.log(data.d);
if (data.d > 0) {
alert('Successfully Added');
} else {
alert('Failed to entry data!');
}
},
error: function (result) {
alert('Failed!');
console.log('Failed' + result.responseText);
}
});
}
C#代码
[WebMethod]
public static string quick_person_entry(dynamic entry_new_person_, dynamic identity_type_, dynamic pop_new_person_identity_no)
{
return Convert.ToString(BAL.pop_quick_person_entry(entry_new_person_, identity_type_, pop_new_person_identity_no));
}
ajax数据
我收到以下错误
Failed{"Message":"Invalid web service call, missing value for parameter:
\u0027identity_type_\u0027.","StackTrace":" at
System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n at
System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n at
System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n at
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
我想在这里发送 ajax,但由于某些奇怪的原因我无法做到这一点。我收到以上错误。有人可以指出我的错误或帮助我吗?
最佳答案
查看该方法所需的参数:
entry_new_person_
identity_type_
pop_new_person_identity_no
以及发送的参数:
entry_new_person_
identity_type_no
pop_new_person_identity_no
中间的参数不同。它相似,但不是同一件事。模型绑定(bind)器不够智能(值得庆幸的是)无法匹配仅相似的事物。更改 JavaScript 代码中的 key 应该可以修复该问题:
var dataAjax = {
'entry_new_person_': $('#entry_new_person_1').val(),
'pop_new_person_identity_no': $('#pop_new_person_identity_no1').val(),
'identity_type_': $('#select2_identity_type_bc_for_new_person_1').val()
};
(或者更改方法中的参数名称也可以解决此问题。取决于哪一个更改更大。例如,如果对此方法有大量 JavaScript 调用,那么对该方法进行一次更改会比对方法的调用进行了许多更改。)
关于c# - 在这种情况下如何进行ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24120728/
我是一名优秀的程序员,十分优秀!