web api 中get和post一些经验总结

本文介绍 WebAPI 的 CORS 解决方案及 GET 和 POST 方法的区别,包括如何配置 CORS 支持多平台调用,以及在 WebAPI 中 GET 和 POST 方法的使用细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       
百度提示

常用的web api场景是一个接口多平台调用,例如给安卓调用 给ios调用 给平板调用 主要为移动互联网提供服务,

web api虽然可以脱离iis自寄宿 但目前大多还是托管在IIS上的

会提示跨域调用错误 解决办法好几个 我采用cors(Cross Origin Resource Sharing)的方式      在app_start文

件夹下面有个WebApiconfig.cs文件,在里面加上2句代码就 可以了

var cors = new EnableCorsAttribute("*", "*", "*");//第一个参数是指定的域(www.baidu.com 多个域可以

以","分隔)
config.EnableCors(cors);



post 传入值之后   后台接参,然后执行方法   自定义路由---用于方法重载,忽略方法名  自定义url

表单get提交和一般的get提交有什么区别  如果加上表单[form],则可以在浏览器中直接显示get提交的数据

默认web api 中get 方法是带getXXXX或[HttpGet]并且参数是空的执行,如果出现两个为空的则会出错,说明都是

get请求则空优先(带参数和空的比较) 和方法放什么地方无关

空的是没问题,带参数的怎么办? 得加[FromBody]  2.当加上“ [HttpGet][HttpPost]”这两个的时候,则可以同

时Get Post请求
        //为什么获取不到前端传过来的数据,前端的数据怎么写
       public string OLK([FromBody]string k)
        {
            return  k;
            
        }
而AJAX则可以获得从后端传过来的数据,同理Form表单也可以获得从后端传过来的数据,只不过是获得的数据不是

与前端输入的有联系

在表单里使用”post”和”get”有什么区别

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两

点不同:

1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。

2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来

访问提交的内容。

仔细研究下面的代码。你可以运行之来感受一下:

代码

以下为引用的内容:

<!--两个Form只有Method属性不同-->

<FORM ACTION=“getpost.php” METHOD=“get”>

<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

<INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>

</FORM>
<BR>

<FORM ACTION=“getpost.php” METHOD=“post”>

<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

<INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT>

</FORM>

<BR>

<BR>

<? If Request.QueryString(“Text”) <> ““ Then ?>

通过get方法传递来的字符串是: “<B><?= Request.QueryString(“Text”) ?></B>“<BR>

<? End If ?>

<? If Request.Form(“Text”) <> ““ Then ?>

通过Post方法传递来的字符串是: “<B><?= Request.Form(“Text”) ?></B>“<BR>

<? End If ?>

说明

把上面的代码保存为getpost.asp,然后运行,首先测试post方法,这时候,浏览器的url并没有什么变化,返回的

结果是:

通过Post方法传递来的字符串是: "Hello World"

然后测试用get方法提交,请注意,浏览器的url变成了:

http://localhost/general/form/getpost.php?Text=Hello+World

而返回的结果是:

通过get方法传递来的字符串是: "Hello World"

最后再通过post方法提交,浏览器的url还是:

http://localhost/general/form/getpost.php?Text=Hello+World

而返回的结果变成:

通过get方法传递来的字符串是: "Hello World"

通过Post方法传递来的字符串是: "Hello World"

提示

通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码

将出现在URL上。如果:

1、 登陆页面可以被浏览器缓存;

2、 其他人可以访问客户的这台机器。

那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重

的安全性问题。
建议
在Form中,建议使用post方法。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值