2014-09-04 3 views
0

J'essaie d'appeler une méthode dans mon fichier .aspx pour appeler un autre fichier .aspx. Le fichier que j'utilise est dans un autre dossier, et le fichier que j'ai besoin d'accéder à l'aide de javascript est en dehors de similaire à cette structure:La requête Ajax ne peut pas accéder à la méthode sur le fichier .aspx

Root Folder:
PageMethods.aspx
    SubFolder/
       Somefile.aspx

Voici ma demande 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); 
     } 
    }); 

Quand je lance la requête ajax lève une erreur 500 (Erreur interne du serveur).

Pourquoi la demande ne va pas à travers, même si l'intérieur de mes PageMethod.aspx.cs est la suivante:

[WebMethod] 
     public static string TagtoVehicle(Int32 colIDBigint, Int32 colTravelReqIDInt, string colRecordLocatorVarchar, Int32 colSeafarerIdInt, string colOnOff, Int32 colPortAgentVendorIDInt,string UserId) 
     { 

} 

Qu'est-ce qui déclenche l'erreur 500?

Répondre

1

Vous êtes citations missign autour values.Just comme vous avez encodées valeur de colIDBigint ne même pour tous les remaning

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

mieux est que vous stringify les données comme celui-ci

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

et comme cela, ajoutez d'autres valeurs dans les données.

0

Utiliser l'URL complète:

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

~ signifie que le chemin commence à la racine du site.

+0

Je viens de l'essayer, il jette la même erreur. – marchemike

0

Erreur: 500 cause de votre format de données: faire simplement, essayez ceci:

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

Jquery Support des dernières versions ce genre, vous pouvez donner un essai! Comme mon expérience, cette façon est meilleure. Bonne chance

Questions connexes