【问题标题】:Jquery.Get ashx pageJquery.Get ashx 页面
【发布时间】:2013-06-02 13:45:01
【问题描述】:

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 版本。作为响应标签没有出现任何东西。 之前我用过很多次,但现在我无法理解错误在哪里。

【问题讨论】:

    标签: asp.net ajax asp.net-mvc-3 jquery


    【解决方案1】:

    您违反了浏览器内置的same origin policy restriction。包含此 javascript 文件的 ASP.NET MVC 应用程序托管在 http://localhost:2197 上,但您正尝试向 http://localhost:21067 执行 AJAX 请求,但无法正常工作。

    有一些变通方法,例如使用JSONP(仅适用于 GET 请求)或CORS(仅适用于支持它的现代浏览器)。如果由于某种原因您不能使用其中一些技术,您可以在 ASP.NET MVC 应用程序中使用服务器端控制器操作,该操作将执行对远程域的实际调用并充当两者之间的桥梁。然后从您的客户端脚本您会将 AJAX 请求发送到您自己的域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      • 2012-08-18
      • 1970-01-01
      相关资源
      最近更新 更多