我正在尝试调用我的.aspx文件中的方法来调用另一个.aspx文件。我正在使用的文件位于另一个文件夹中,我需要使用javascript访问的文件与此结构类似:
根文件夹:
PageMethods.aspx
SubFolder /
Somefile.aspx
这是我的ajax请求:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/PageMethods.aspx/TagtoVehicle",
data: "{'colIDBigint': '" + IDBigInt + "', 'colTravelReqIDInt': " + TravelReq +
", 'colRecordLocatorVarchar': " + RecordLoc + ", 'colSeafarerIdInt': " + SeafarerId + ", 'colOnOff': " + onoff + ", 'colPortAgentVendorIDInt': " + Vehiclevendor + ", 'UserId': " + userId + "}",
dataType: "json",
success: function(data) {
} ,
error: function(objXMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
当我运行ajax请求时,它会抛出错误500(内部服务器错误)。
为什么请求不会通过,即使在我的PageMethod.aspx.cs中是这样的:
[WebMethod]
public static string TagtoVehicle(Int32 colIDBigint, Int32 colTravelReqIDInt, string colRecordLocatorVarchar, Int32 colSeafarerIdInt, string colOnOff, Int32 colPortAgentVendorIDInt,string UserId)
{
}
什么是触发错误500?
答案 0 :(得分:1)
你是围绕值的错误引号。就像你有colIDBigint的编码值一样,对所有的重写都是一样的
data: "{'colIDBigint': '" + IDBigInt + "', 'colTravelReqIDInt': '" + TravelReq +
"', 'colRecordLocatorVarchar': '" + RecordLoc + "', 'colSeafarerIdInt': '" + SeafarerId + "', 'colOnOff': '" + onoff + "', 'colPortAgentVendorIDInt': '" + Vehiclevendor + "', 'UserId': '" + userId + "'}",
更好的是你按照这个字符串化
JSON.stringify({colIDBigint:IDBigInt,colTravelReqIDInt:TravelReq})
就像在数据中添加其他值一样。
答案 1 :(得分:0)
使用完整网址:
url: '<%=ResolveClientUrl("~/PageMethods.aspx/TagtoVehicle")%>',
〜表示路径将从站点的根目录开始。
答案 2 :(得分:0)
错误:由您的数据格式导致500:简单地说,试试这个:
data:{"variable":data, "variable1":data1,...}
Jquery最新版支持这种,你可以试一试!根据我的经验,这种方式更好。祝你好运