我面临着一个非常奇怪的情况。我有一个JavaScript文件:
/// <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;
});
});
如你所见,我在页面加载中绑定了一些事件,但是我想特别指出web方法的FIRST调用和SECOND调用:
1-第一个调用正在页面加载中运行:
jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function () { **//HERE ****
alert("ds");
});
2-第二个是"envoyer"中的Event Click:
$("#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;
});
我遇到的问题是,第一个通话效果很好,但第二个则根本不起作用。
我知道第二个调用的代码不会引发错误,因为调用了alert('doo3');。
这是我的网络方法服务:
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;
}
}
}
这是我的html代码 :
<input id="envoyer" type="submit" class="btn btn-danger" runat=server value="Postuler !" ClientIdmode="static" />
我真的不知道哪里错了,你知道原因吗? page load加载正常,却被卡在Event上。