fetch()
fetch 的功用很像 $.ajax()、XMLHttpRequest()
範例如下
Model 的內容為
namespace WebApplication1.Models
{
public class Person
{
public int id { get; set; }
public string name { get; set; }
}
}
Controller 的內容為
using System.Web.Mvc;
using System.Web.Script.Serialization;
using WebApplication1.Models;
namespace WebApplication1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
Person p = new Person() { id = 123, name = "Tom" };
return Content(ObjectToJSON(p));
}
//http://www.newtonsoft.com/json/help/html/SerializingJSON.htm
private string ObjectToJSON(object obj)
{
return new JavaScriptSerializer().Serialize(obj);
}
}
}
Index.cshtml 的內容為
@{
ViewBag.Title = "Home Page";
}
<form>
<button id="btnSend" type="button">送出</button>
</form>
@section scripts{
<script>
document.getElementById("btnSend").addEventListener("click", function () {
let url = 'About';
let request = {
method: 'GET',
cache: 'no-cache',
headers: new Headers({
'Content-Type': 'application/json'
})
};
fetch(url, request)
.then(response => {
return response.json();
})
.then(model => {
console.log(model.id);
console.log(model.name);
})
.catch(error => {
console.error(error);
});
});
</script>
}
執行結果為

參考資料: