原生AJAX GET请求怎么传值和传址

WebAPI传递参数遇到的问题

后台实体类(Person):

如上这是最普通的一次WebApi的Ajax请求,接下来我们来讲几个比较特殊的例子代码修改如下:黄色荧光笔的都是改动的代码。

我们仅仅呮是更改了接口的名称而已从GetEnglishName改为SetEnglishName,为什么就找不到该方法了呢

原因是:WebAPI对于后台方法接口在没有给它添加访问方式的前提下(如:[HttpPost]),并且方法名称开头带着Get的话默认是Get请求。

所有在上面例子中方法名既没有标明请求方式,也不是Get开头它自然找不到可以允许访問的方法了,建议:不管是什么类型的请求都在方法上设置访问类型

post请求传递一个参数的时候,data并不是传的键/值对形式而是data:{"":"yzc"},记住这种特殊情况,不然后台是获取不到前端传过去的值得至于原因是:Web API 要求请求传递的 [FromBody] 参数,是有一个特定的格式才能被正确的获取到。

post传遞多个参数的时候 (被标记[FromBody]的参数只能出现一次被标记为[FromUri]的参数可以出现多次,如果被标记为[FromUri]的参数是简单参数该标记可以去掉。)

当post请求的参数多的时候就需要封装在一个类里面,这样后台也需要创建临时类来接收而dynamic可以让我们省掉许多类。然而前端Ajax请求参数的配置目前自己试过的只有data:JSON.stringify(x)和contentType:"application/json"一起后台才能拿到数据


我要回帖

更多关于 传值和传址 的文章

 

随机推荐