Je suis confronté à une situation vraiment étrange. J'ai un fichier JavaScript :Méthode Web avec ajax
/// <reference path="jquery-1.8.2.min.js" />
var compte = 0;
var poste = [];
var posteselectionner = [3];
$(function() {
jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function() { **//HERE ****
alert("ds");
});
var msg = 1;
$("#Uploadb").click(function() {
alert('f');
});
$(".test1").click(function() {
msg = msg + 1;
$("#li1").html("<a href='#'><img src='images/partners/jquery.png' alt=''></a>");
});
$("#info").mouseover(function() {
$("#info").popover("show");
});
$("#info").mouseleave(function() {
$("#info").popover("hide");
});
$("#envoyer").click(function() {
var erreur = true;
if (document.getElementById("myFile").value == "") {
jQuery("#alert2").attr("style", "display:block");
erreur = false;
} else {
jQuery("#alert2").attr("style", "display:none");
}
if (compte == 0) {
jQuery("#alert3").attr("style", "display:block");
erreur = false;
} else {
jQuery("#alert3").attr("style", "display:none");
}
if (erreur == true) {
jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function() { **//HERE ****
alert("ds");
});
alert('doo3');
}
return erreur;
});
}); Comme vous le pouvez, voir I bind un événement dans le chargement de la page. Mais ce que je tiens à vous est le PREMIER appel et l'appel DEUXIÈME de la méthode Web:
1- Le premier appel est en cours d'exécution de la charge de la page:
jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function() { **//HERE ****
alert("ds");
});
2- La deuxième dans la Event Click
de l'entrée « Envoyer »:
$("#envoyer").click(function() {
var erreur = true;
if (document.getElementById("myFile").value == "") {
jQuery("#alert2").attr("style", "display:block");
erreur = false;
} else {
jQuery("#alert2").attr("style", "display:none");
}
if (compte == 0) {
jQuery("#alert3").attr("style", "display:block");
erreur = false;
} else {
jQuery("#alert3").attr("style", "display:none");
}
if (erreur == true) {
jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function() { **//HERE ****
alert("ds");
});
alert('doo3');
}
return erreur;
});
le problème que j'ai est, le premier appel fonctionne très bien, mais le second ne fonctionnent pas du tout.
Je sais que le code du second appel ne renvoie pas d'erreur car le alert('doo3');
est appelé.
Voici ma méthode de service Web:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
namespace CvContact
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ServiceContactTest
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void DoWork()
{
return;
}
}
}
Voici mon html:
<input id="envoyer" type="submit" class="btn btn-danger" runat=server value="Postuler !" ClientIdmode="static" />
Je ne sais vraiment pas ce que je fais mal. Savez-vous ce que cela peut causer? Travailler sur le page load
, mais collé sur Event
.
Pour votre information '$ (function() {...});' est raccourci pour DOM prêt, pas de fenêtre onload –