JS方法
$.post('http://localhost:21067/HandlerServices/Product/ProductHandler.ashx', 'action=productlist', function (data) { console.log(data); console.log('hi') });
这个ashx代码正在运行,但我没有回复
这是ashx.cs代码
context.Response.ContentType = "text/plain";
if (!string.IsNullOrEmpty(context.Request.QueryString["action"]))
{
string action = context.Request.QueryString["action"];
switch (action.ToLower())
{
case "productlist":
context.Response.Write("ersoy");
break;
}
}
我有查询1.9.0版本。响应标签不显示任何内容。 在我多次使用它之前,但现在我无法理解这个错误在哪里。
答案 0 :(得分:4)
您违反了浏览器中内置的same origin policy restriction
。包含此javascript文件的ASP.NET MVC应用程序托管在http://localhost:2197
上,但您正在尝试向http://localhost:21067
执行无效的AJAX请求。
有一些解决方法,例如使用JSONP
(仅适用于GET请求)或CORS
(仅适用于支持它的现代浏览器)。如果由于某种原因你不能使用其中的一些技术,你可以在ASP.NET MVC应用程序中有一个服务器端控制器操作,它将执行对远程域的实际调用,并充当2.之间的桥梁。然后从您的客户端脚本您将把AJAX请求发送到您自己的域。