前台:前台:前台:前台:前台:前台:前台:
//var data = {username: 'example'};
fetch('http://localhost:49781/api/a/ss',
{
headers: {
'user-agent': 'Mozilla/4.0 MDN Example',
'content-type': 'application/json'
},
method: 'POST', // // *GET, POST, PUT, DELETE, 等.
credentials: 'include', // include(始终携带cookie), *same-origin(cookie同源携带), omit(不携带)
// cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
// mode: 'cors', // no-cors(跨域模式但服务器端不支持cors);
// //cors(跨域模式需要服务器通过Access-Control-Allow-Origin来允许指定的源进行跨域)
// // *same-origin(同源)
// redirect: 'follow', // manual, *follow, error
// referrer: 'no-referrer', // *client, no-referrer
//body: JSON.stringify(data), // must match 'Content-Type' header
//或或或或或
body: JSON.stringify({//固定格式,必须先序列化成字符串再post,再传递, JSON.stringify为固定格式
"a":a,
"b":b,
"c":c,
"d":JSON.stringify([{ "H_TYPE": "sss" }, { "ddd": "ggg" }])//将数组序列化再赋给"d",后台用string d接受d这个json字符串
}),
}
).then(
response => {
if (response.ok) {//如果返回的response是健康的,ok的
return response.json()//则json序列化成数组
} else {
return Promise.reject({//否则利用Promise.reject将sick的response赋值给sick_response
//并携带sick_response跳过第二个.then进入.catch
sick_response: response
})
}
}
).then(
data => {
console.log(data)
// this.setState({users: data})
}
).catch(//sick_response进入此处进行请求失败反馈
sick_response => {
console.log(sick_response)
}
)
后台:后台:后台:后台:后台:后台:后台:
C#--->webApi
using System.Collections.Generic;
using System.Web.Http;
namespace WebApi2.Controllers
{
public class aController : ApiController
{
public List<sysUser> ss(dynamic Json) {
string username = Json.username;//接受前台fetchbody传递的json数据
var list = DBManage.GetListBySql<sysUser>("select * from sys_User");//向前台返回数组即可,前台会response.json()序列化为数组
return list;
}
}
}
//或或或或或或或
//C#--->MVC
public string getDatasource(string a,string b,string c ,string d)
{
string A = a;
string B = b;
string C = c;
var D= JsonConvert.DeserializeObject(d);//反序列化成对象
return A;
}