2017-10-16 9 views
0

J'utilise des requêtes POST dans mon projet jusqu'au moment où je suis tombé sur un formulaire avecHttpClient POST

onsubmit = "return false;"

<form name="formName" id="formName" action="" method="post" onsubmit="return false;"> 
... 
</form> 

Ce formulaire est soumis par une fonction javascript bouton onclick.

Toutes les autres demandes que je fais fonctionnent correctement, mais pas celle-ci et je crois fermement que l'onsubmit est la cause.

Y at-il moyen de contourner ce problème?

** EDIT (Complement) **

thats la requête POST

 FormUrlEncodedContent formContent = new FormUrlEncodedContent(new[] 
     { 
      new KeyValuePair<string, string>("a", "b") 

     }); 
     Task<HttpResponseMessage> post = client.PostAsync(url, formContent); 
     post.Wait(); 
     Task<string> contents = post.Result.Content.ReadAsStringAsync(); 
     contents.Wait(); 
+0

remove return false avec la méthode que vous voulez exécuter –

+0

La méthode onclick est-elle réellement exécutée? Avez-vous traversé le code dans le débogueur js dans le navigateur? – berniefitz

+0

@AtulChaudhary Je ne sais pas comment je peux supprimer le retour faux. – Lucas

Répondre

2

Remplacer cette

<form name="formName" id="formName" action="" method="post" onsubmit="return false;"> 
... 
</form> 

avec

<form name="formName" id="formName" action="urlendpointurl" method="post"> 
    <input type="submit" value="Submit to me"> 
</form> 

Dans typique Asp.Net MVC app ur urlendpointurl sera li ke "~/Home/Save"

+0

J'aimerais que ce soit si facile .. Mais malheureusement je ne peux pas changer la page html – Lucas

+0

pouvez-vous exécuter javascript sur la page html ? –

+0

Cette page J'essaie de faire cette demande POST n'est pas sous mon contrôle. C'est pourquoi je ne peux pas changer son contenu html ou javascript. Et je n'utilise pas non plus d'automatisation comme Selenium pour forcer un clic sur le bouton. Je dois envoyer ce formulaire et obtenir la réponse en utilisant le HttpClient. Sauf si vous pouvez me dire une autre alternative. Merci pour ton aide – Lucas