当发送ajax数据到asp.net服务器端方法时获取500内部服务器错误c#
问题描述:
当我向服务器方法提交ajax数据时500内部错误来了,而如果我没有数据调用相同的ajax方法那时它的工作非常完美。我真的很困惑,ajax数据将如何发送到服务器方法。当发送ajax数据到asp.net服务器端方法时获取500内部服务器错误c#
这里是我的代码
<asp:ComboBox ID="dropdwn_consignor" runat="server" onfocusout="blurFunction()" ></asp:ComboBox>
<script>
function blurFunction() {
var c = $find("<%=dropdwn_consignor.ClientID %>");
$.ajax({
type: "POST",
url: "Booking123.aspx/GetCnorGSTNo",
data: "{ TinNo1: '"+ c.get_textBoxControl().value +"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: "true",
cache: "false"
});
}
</script>
[WebMethod]
public static void GetCnorGSTNo(string Param1)
{
// here is the code
}
请帮我解决这个问题。
谢谢。
答
检查参数名:
GetCnorGSTNo()拥有的 “参数1” 而不是 “TinNo1” 的字符串参数
尝试:
data: JSON.stringify({
Param1: c.get_textBoxControl().value
}),
+1
'data:{Param1:c.get_textBoxControl()。value}'会工作 - 不需要过度复杂化。 –
+0
谢谢。 @JAck和Rory McCrossan – karan
一步通过您的代码,你会看到它抛出了什么错误(500是内部错误,所以它在你的C#中是失败的东西)。如果你不知道如何调试,你可以尝试查看你的事件日志。如果你不知道怎么做,那就试着在没有Ajax的情况下发布你的表单,页面会显示你的错误 - 如果你删除了友好的错误页面 – Pete
如果你收到500错误,问题出现在服务器上,那么这是'//这里是我们实际需要看到的代码部分。另外请注意,您的参数名为'Param1',而不是'TinNo1',您可以直接将对象赋予jQuery进行编码;没有必要一起破解一个丑陋的类似JSON的字符串 –
@RoryMcCrossan首先你的感觉太糟糕了。我已经告诉过你,调试点并没有进入方法,那么你为什么要看代码。呵呵呵。首先仔细阅读问题然后给予评论,否则不需要给予。理解。 – karan