2014-09-04 73 views
0

我試圖調用我的.aspx文件中的方法來調用另一個.aspx文件。我使用的文件是另一個文件夾裏面,文件,我需要使用JavaScript來訪問超出類似這樣的結構:Ajax請求無法訪問.aspx文件上的方法

Root Folder:
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?

回答

1

你周圍values.Just missign報價像你編碼colIDBigint的價值也同樣爲所有其剩餘

data: "{'colIDBigint': '" + IDBigInt + "', 'colTravelReqIDInt': '" + TravelReq + 
     "', 'colRecordLocatorVarchar': '" + RecordLoc + "', 'colSeafarerIdInt': '" + SeafarerId + "', 'colOnOff': '" + onoff + "', 'colPortAgentVendorIDInt': '" + Vehiclevendor + "', 'UserId': '" + userId + "'}", 

更好的是,你字符串化數據這樣

JSON.stringify({colIDBigint:IDBigInt,colTravelReqIDInt:TravelReq}) 

和就像在數據中添加其他值一樣。

0

使用完整的URL:

url: '<%=ResolveClientUrl("~/PageMethods.aspx/TagtoVehicle")%>', 

〜意味着這條道路將在站點的根目錄開始。

+0

我只是試過了,它會拋出同樣的錯誤。 – marchemike 2014-09-04 06:34:33

0

錯誤:500引起你的數據格式:讓它簡單地說,試試這個:

data:{"variable":data, "variable1":data1,...} 

jQuery的最新版本支持這種,你可以給一個試試吧!根據我的經驗,這種方式更好。祝你好運