从 jQuery 调用 Web 服务
Posted
技术标签:
【中文标题】从 jQuery 调用 Web 服务【英文标题】:Call web service from jQuery 【发布时间】:2012-06-18 09:29:54 【问题描述】:我正在尝试使用 jQuery 来使用我的 Web 服务,并且基本上只需要 Web 服务来调用函数就可以了。
我在 .NET 中使用的代码是这样的:
[ServiceContract(Namespace = "http://Sinvise.Service/")]
public interface ISinvise
[OperationContract]
void Output(string value);
class SinviseService : ISinvise
second sec = new second();
public void Output(string value)
sec.message(value);
+
Uri baseAddr = new Uri("http://localhost:60185/Sinvise");
ServiceHost localHost = new ServiceHost(typeof(SinviseService), baseAddr);
try
Process.Start(baseAddr.AbsoluteUri);
localHost.AddServiceEndpoint(typeof(ISinvise), new WSHttpBinding(), "CalculatorService");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
localHost.Description.Behaviors.Add(smb);
localHost.Open();
Console.WriteLine("Service initialized.");
Console.WriteLine("Press the ENTER key to terminate service.");
Console.ReadLine();
localHost.Close();
catch (CommunicationException ex)
Console.WriteLine("Oops! Exception: 0", ex.Message);
localHost.Abort();
我怎样才能简单地调用Output
网络服务?
谢谢
【问题讨论】:
【参考方案1】:您可以使用 .get()
来使用 ajax 请求
由于浏览器安全限制,大多数“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。脚本和 JSONP 请求不受同源策略限制。
【讨论】:
我需要浏览器能够发送和接收来自服务的值 另外我正在尝试使用普通的 html 页面连接到 localhost Web 服务,我知道这是不可能的,因为它是跨域调用 @SandeepBansal i 可以使用 JSONp(动态嵌入获取请求),但您只能获取 有没有办法让 HTML 文件托管在 WCF 服务中? @Sandeep 如果您想使用 GET 以外的 http 方法,您必须在 WCF social.msdn.microsoft.com/Forums/en-US/wcf/thread/… 中启用 CORS 支持以上是关于从 jQuery 调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章
使用 Response.Write JSON 输出从 Jquery 调用 c# asmx Web 服务
使用 JSON 从 AJAX 和 JQuery 调用简单的 Web 服务(.asmx 文件) - 解析错误