HttpClient的POST

HttpClient的POST

问题描述:

我用在我的项目的一些POST请求,直到当我遇到一个形式附带HttpClient的POST

的onsubmit =“返回false;”

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

这种形式是由一个JavaScript的onclick按钮功能提交。

我正在做的所有其他请求都正常工作,但不是这个,我坚信onsubmit false是原因。

反正是有解决这个问题?

**编辑(补体)**

那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

使用您想要执行的方法删除返回false –

+0

onclick方法是否实际执行?你有没有在浏览器中通过js调试器中的代码? – berniefitz

+0

@AtulChaudhary不知道如何删除返回false。 – Lucas

替换此

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

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

在典型Asp.Net MVC app ur urlendpointurl将是李ke“〜/ Home/Save”

+0

我希望它是那么容易..但不幸的是,我不能改变页面html – Lucas

+0

你能在html页面上执行javascript吗? ? –

+0

本页我正在尝试这个POST请求不在我的控制之下。这就是为什么我不能改变它的HTML或JavaScript内容。而且我也没有像Selenium那样使用任何自动化来强制点击按钮。我必须发送该表单并使用HttpClient获得响应。除非你能告诉我另一种选择。感谢您的帮助 – Lucas