我试图用javascript从json字符串/对象调用一个asp.net控制器方法。如何发送json对象到javascript的asp.net?
的asp.net控制器:
public class HomeController : Controller
{
public ActionResult doWork(string data) {
// dowork..
return new EmptyResult();
}
}
而在JavaScript是:
var XHR=new XMLHttpRequest();
XHR.open("GET", 'http://localhost:58476/home/dowork', true);
XHR.setRequestHeader("Accept","application/json");
XHR.onreadystatechange = function() {
if (XHR.readyState == 4 && XHR.status == 200) {
alert('ok');
}else{
alert('not ok');
}
};
XHR.send(JSON.stringify(queryResult));
如果JavaScript的运行,它会调用DoWork的方法在asp.net,但数据为空。并且在dereadystatechange上,它正在调用'not ok'-alert。
在我的控制台日志,我发现了错误:
XMLHttpRequest cannot load http://localhost:58476/home/dowork . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:8081 ' is therefore not allowed access.
是否有人知道如何解决这一问题?
显示'ok'提示。但方法dowork中的数据仍然为空。如果解决这个问题怎么办? – user3432681
是包含任何数据的queryResult? – Zippy
是的,我也试着做var data ='someDate'; XHR.send(JSON.stringify(数据));但dowork()数据仍然为空。 – user3432681