Je voudrais passer des paramètres à mon webservice de jquerys ajax. Comment puis je faire ça?Comment passer des paramètres à la méthode webservice [OperationContract] à partir de jquery/ajax?
J'ai déjà examiné quelques-unes des questions connexes, mais je n'ai pas trouvé de solution qui a fonctionné pour moi. J'ai essayé ceci: jQuery AJAX parameter not being passed to MVC mais je n'utilise pas mvc donc je suis sûr que c'est pourquoi la solution ne fonctionne pas. Mon jquery ressemble à ceci:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CarService.svc/GetCar",
data: {CarID:117},
dataType: "json",
success: function (data) {
$("#lblCurrentTime").text("");
$("#lblCurrentTime").text(data.d.CarID);
}
});
Quelque chose ne va pas avec moi « données », non? Si laisser les données: partie en tant que données: « {} » Je peux obtenir ma méthode pour exécuter (et je ne passe aucun paramètre) mais dès que j'essayer ce qui précède à Firebug me dit:
Firebug's log limit has been reached. 0 entries not shown. Preferences
POST http://localhost:64461/TimeService.svc/GetCar
POST http://localhost:64461/TimeService.svc/GetCar
500 Internal Server Error
1.12s
Mon Webservice ressemble à ceci:
[OperationContract]
public CarTable GetCar(int id)
{
using (var sqlc = new SqlConnection(@"sdfgsdfg"))
{
sqlc.Open();
var cmd = sqlc.CreateCommand();
cmd.CommandText = "HUGE QUERY HERE ^^";
//id = 117;
cmd.Parameters.Add("CarID", System.Data.SqlDbType.Int).Value = id;
using (var reader = cmd.ExecuteReader())
{
CarTable Cars = new CarTable();
while (reader.Read())
{
Cars.CarID = reader["CarID"].ToString();
Cars.CarName = reader["CarName"].ToString();
}
return Cars;
}
}
}
[DataContract]
public class CarTable
{
[DataMember]
public string CarID { get; set; }
[DataMember]
public string CarName { get; set; }
}
EDIT: Si je change la partie de données:
data: CarID=117,
Je reçois Sys.ParameterCountException: décalage de comptage des paramètres. [Pause sur cette erreur] {name: "format", type: String}
Êtes-vous en mesure d'appeler votre webservice en utilisant un outil comme SoapUI? –
Avez-vous essayé "complet" au lieu de succès, et vu ce que les messages d'erreur étaient? – Matrym
Je ne connais pas cet outil, mais je vais le vérifier maintenant. – Robodude