Sys.ParameterCountException: non-concordance des comptes
Je suis face au problème suivant dans firefox
et google chrome
:
Sys.ParameterCountException: Parameter count mismatch.
J'appelle le code javascript suivant la méthode onclick
:
<script type="text/javascript">
var confirmSubmited = false;
function SubmitWithLog(par_name, par_address, frm) {
jQuery.ajax({
url: "/LogAction.ashx?par_name=" + par_name + "&par_address=" + par_address,
type: "GET",
timeout: 3000,
async: true, //you can try and async:false - maybe is better for you
data: action = 4, //here you send the log informations
cache: false,
success: function(html) {
jQuery(frm).submit();
},
error: function(responseText, textStatus, XMLHttpRequest) {
jQuery(frm).submit();
}
});
return false;
}
</script>
Le lien de firebug rendu sera comme ceci :
<a href="#" onclick="SubmitWithLog('%d8%b7%d9%84%d8%a8+%d8%a5%d9%84%d8%aa%d9%85%d8%a7%d8%b3+%d9%84%d9%84%d9%85%d9%88%d8%a7%d8%b1%d8%af+%d8%a7%d9%84%d8%a8%d8%b4%d8%b1%d9%8a%d8%a9','...../RequestList.aspx','#ctl43');return false;">GO </a>
selon le lien suivant :
Erreur: Sys.ParameterCountException: Paramètre nombre incompatibilité.
J'ai mis le ScriptMode = "release"
mais j'ai une autre erreur
this._toFormattedString is not a function
Ce problème n'existe pas dans IE.
EDIT :
public class LogAction : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext con)
{
//log here what you wish
string[] statistics = TrackUser();
string a = HttpUtility.UrlDecode(con.Request.Params["Par_name"].ToString());
string b = con.Request.Params["Par_address"].ToString();
TraceActivity(a, b, statistics[0], statistics[1], statistics[2]);
//end up with no content
con.Response.TrySkipIisCustomErrors = true;
con.Response.Status = "204 No Content";
con.Response.StatusCode = 204;
}
//-------------------------------------------
}
source d'informationauteur Anyname Donotcare
Vous devez vous connecter pour publier un commentaire.
Éventuellement la peine d'emballage de vos données: article entre guillemets
devient
C'est ce qui se passe lorsque vous appelez une méthode publique de l'API ajax avec le bon nombre de paramètres. Par exemple, essayez de
Boolean.parse("true", "what?")
. Il ne prend que 1 paramètre, vous avez passé à 2 ou à votre envoi une valeur null.également soumettre votre lien
...../RequestList.aspx
ne ressemble pas à une bonne adresse.donc, assurez-vous que vous n'êtes pas en passant null ou de mauvais paramètres.