要求从jQuery的ASMX Web服务

我无法从jQuery的函数调用Web服务(ASMX)。

这是说在调用Web服务的“拒绝访问”错误。 这是工作中的开发和本地机器,但我得到同样的错误。

这是我的ajax调用

$.ajax({ type: "POST", url: "http://server.com/calculator.asmx/calculus", data: "{ 'userID': '" + $("#usrid").val() + "','password': '" + $("#password").val() + "' }", contentType: "application/json; charset=utf-8", dataType: "json", success: Success, error: Error });

我的Web服务

[WebService(Namespace = "http://www.company.com/webservices/calculus")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class calculator : System.Web.Services.WebService { [WebMethod] [System.Web.Script.Services.ScriptMethod(UseHttpGet=false, ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)] public bool calculus(string userName, string password) {// my code}

该错误是在http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js功能和e.username?x.open(N,E中的“拒绝访问”错误。 URL,e.async,e.username,e.password):x.open(N,e.url,e.async);

我已经包括[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)与类如图http://forums.asp.net/p/1570168/3935094.aspx并没有能够解决的概率。 任何一个可以请帮我对此。

谢谢

--------------解决方案-------------

JSONP是要解决的“同源策略”(又名跨站点脚本或者XSS)限制一个可行的办法。 它有它自己的挑战(例如,它只能使用GET模式请求),所以它肯定不是万能的。 但是,它可能是值得你花时间给它看看。 有一个关于它的帖子计算器,这将有助于你开始一个体面的数量。

AJAX调用被绑定到同源策略,这意味着你不能调用它坐落在一个不同的域中的Web服务。 该浏览器将丢弃该请求。 一种可能的解决办法是写在同一个域将作为桥梁,以实际的Web服务,然后调用该脚本的服务器端脚本。

分类:asp.net 时间:2013-06-30 人气:0
本文关键词: asp.net,ASMX,jQuery的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.524 (s). 10 q(s)