【问题标题】:Cross Domain Access of a asp.net webserviceasp.net webservice的跨域访问
【发布时间】:2011-09-27 22:52:37
【问题描述】:

我有一个简单的 html 页面,里面有这个:

$.getJSON("http://www.bebas.co.in/myservice.asmx/functionName?callback=?",                     
                           function(response) {  
                           //manipulate response

                           });
///

在 myservice.cs 文件中我有这个..

[WebService(Namespace = "")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class myservice : System.Web.Services.WebService
{

    public myservice()
    {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }


        [WebMethod]
        public string functionName()
        {
               //database access..
                Dictionary<string, object> result = new Dictionary<string, object>();
                result = JsonMethods.ToJson(dsResult.Tables[0]);
              //other operations...
                return new JavaScriptSerializer().Serialize(result);
        }
    }.................

我想要跨域访问..​​.但我无法这样做..firebug 给了我 URL 意外以...结尾的请求格式无法识别

我该怎么办?

【问题讨论】:

  • 什么是完整的萤火虫错误?你在使用 AJAX 吗? Firebug 可能期待 HTML,但 Web 服务响应是 SOAP。
  • 实际上,您的网络服务甚至没有编译。从 Web 浏览器访问 bebas.co.in/myservice.asmx 会出现黄屏。 myservice.cs 是否存在,它的代码是否可以编译?
  • @justin..plz 忽略 url.. 以它为例.. 服务在其原始域中运行良好..:) ..plz 帮助
  • 是的..有一些格式不匹配的问题(这就是我猜的全部)..可能是b xml vs json?
  • 我不确定您是否可以在 .asmx 服务中使用自定义 URL 参数。他们不应该全部匹配您的服务方法的参数吗?

标签: jquery asp.net web-services jsonp


【解决方案1】:

您不需要 Web 服务即可返回 JSON。只需将您的代码放在一个普通的网络表单中(没有标记,只有一个空白的 .aspx),然后从代码隐藏 (.aspx.cs) 中的 Page_Load() 调用它。

或者您可以使用HttpHandler

【讨论】:

  • @Justin..am 禁止使用 .aspx..我需要通过 Web 服务进行操作..(是的.. .aspx 可以正常工作)
  • 如果必须使用 Web 服务,则必须处理 SOAP 响应。由于您已经在使用 jquery,您可能想试试这个:plugins.jquery.com/project/jqSOAPClient
猜你喜欢
  • 2015-10-07
  • 2015-08-05
  • 2014-12-07
  • 2014-09-28
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2017-03-31
相关资源
最近更新 更多