Tag: web services

使用jQuery,Ajax和JSON使用单引号提交

我环顾四周,我正试图找到一个优雅的解决方案,我还没有找到一个。 我在.NET中有一个ASMX Web服务,我试图调用它需要参数。 我在客户端使用jQuery来调用服务,我的jQuery代码看起来像这样: $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, dataType: “json”, url: “/Reviews/HotelReview.asmx/SubmitReview”, data: “{‘name’: ‘” + name + “‘, ” + “‘info’: ‘” info + “‘}”, processData: true, beforeSend: function() { startSubmit(); }, complete: function() { submitComplete(); }, error: function(xhr) { submitError(xhr); }, success: function(msg) { submitSuccess(msg.d); } }); 它的效果非常好,除非名称或信息包含‘字符,单引号。 很简单,因为我的JSON定义了字段值的结尾并且是单引号。 当这些字段中的任何一个包含单引号时,我得到的只是“内部服务器错误”,但是使用Fiddler的进一步检查向我显示了结果(我不打算发布它们),表明单引号问题。 我暂时放置了一些东西来删除客户端上的单引号并将它们放回到服务器端,但这远非优雅。 […]

对国家,城市,拉特,朗javascript服务

将IP从以下脚本转换为country / city / lat / long的最佳/准确/免费服务是什么? $.getJSON(“http://jsonip.appspot.com?callback=?”, function(data){ alert( “Data Returned: ” + data.ip); });

C#Web Service不会输出JSON,只输出XML

我正在尝试将jQuery和JSON与我编写的C#Web服务一起使用。 无论如何,以下代码仅以XML格式输出。 Web服务代码 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string HelloWorld() { return “Hello World!”; } 我也将这些属性分配给了这个类 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] jQuery代码 $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, url: “ScheduleComputerDS.asmx/HelloWorld”, data: “{}”, dataType: “jsonp”, success: function(data) { alert(data); } }); ASMX页面始终以内容类型“text / xml”返回。 我错过了什么? 编辑:回应几个答案: 如果我的数据类型只是“json”,那么内容仍然是XML,jQuery也不会调用我的回调函数。 如果我添加“&callback =?” 到URL,IIS抛出HTTP 500错误。 我的类inheritance自“System.Web.Services.WebService”。 从对你们家伙的答案做一些研究,看起来我确实需要弄乱WCF。 不幸的是,返回的JSON更多是为MS Ajax设计的,对我来说是一个无用的膨胀。 我可能会研究像Jayrock这样的开源库或类似的东西。 感谢你的帮助!

普通的.NET Web服务应用程序中HTTP会话状态的替代方案

经过与ASP.NET页面生命周期及其性能的长期斗争,我们已经开始重构我们的Web应用程序,以在客户端实现Web服务(普通的.asmx .NET Web服务)和jQuery。 注意:这不以任何方式实现MVC或ASP.NET,这些只是Web服务。 在应用程序的两个分配中,我们在单个页面中动态生成所有内容。 在ASP.NET分配中,这意味着(由于页面生命周期)整个页面需要被拆除并重建(几乎)每个AJAX调用或更改为Web表单。 这为旨在为许多并发用户提供服务的应用程序带来了巨大的可扩展性问题。 在Web服务/ jQuery分配中,我们可以有选择地只关注需要向服务器发送或接收数据的DOM元素,这意味着更少的请求和更快的用户体验。 该应用程序的第一次迭代显示性能提升了一个数量级; 但是,随着我们开始构建越来越多的Web服务,应用程序的性能现在与ASP.NET分配的性能相当。 经过大量谷歌搜索/灵魂搜索和负载测试后,很明显HTTP Session是罪魁祸首。 本质上,每次读取(有时通过简单地在Web服务方法范围中包括Session)都是阻塞调用,它引入了500ms的延迟。 一旦你知道在哪里看,这在MSDN文献中有详细记载。 实现时,Session(如果由同一用户的多个Web服务使用)将异步请求转换为具有500ms缓冲区的同步请求。 我们通过将所有AJAX调用链接为彼此的“成功”事件来缓解这种情况,从而使它们成为来自客户端的同步请求。 这消除了请求对锁定的Session对象进行读取所导致的500ms延迟。 使客户端应用程序以“同步”方式运行已解决了许多性能问题; 然而,这只是短期内的一个临时解决方案。 什么可行的(可扩展的!)替代Session存在,再次记住,我们不是在ASP.NET或MVC或WCF等? 我们最大的障碍是我们的元数据集合的持久性,该集合在登录时为每个用户初始化。 这是app中最昂贵的操作(10倍或更多),而且我们只想执行一次。 会话提供了一种简单的方式,让老一辈流汗,永不回头; 但这种方法看起来不太可行。 一种方法可能是消除这个单一的元数据集合神类,并将这个一神论类演变为半神论的多神论集合。 可以以更低的成本更频繁地完成半神人的实例化。 可行,但需要大量的重构,广泛的开发和QA时间。 另一个候选者只是将所有状态信息存储在数据库中,但这有其自身的成本 – 延迟并非最不重要。 是否有任何其他解决方案可能涉及较低的实施工作量?

使用JQUERY ajax函数将JSON对象发送到ASP.NET Web服务

我想在aspx页面的客户端创建对象。 我想为这些javascript类添加函数,以使生活更轻松。 实际上我可以获取并使用从服务返回的对象(从服务器端类派生)。 当我想通过jquery ajax方法从客户端发送对象时,我无法做到:) 这是我的javascript类: function ClassAndMark(_mark, _lesson){ this.Lesson = _lesson; this.Mark = _mark; } function Student(_name, _surname, _classAndMark){ this.Name = _name; this.SurName = _surname; this.ClassAndMark = _classAndMark; } 这是Student类调用Web Service的方法: JSClass.prototype.fSaveToDB(){ $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, url: “/WS/SaveObject.asmx/fSaveToDB”), data: ????????????, // This might be: JSON.stringify(this) ? // Web service method has a […]

Jquery Ajax调用,不会调用成功或错误

可能重复: 如何从函数中返回AJAX调用的响应? 我正在使用Jquery Ajax来调用服务来更新值。 function ChangePurpose(Vid, PurId) { var Success = false; $.ajax({ type: “POST”, url: “CHService.asmx/SavePurpose”, dataType: “text”, data: JSON.stringify({ Vid: Vid, PurpId: PurId }), contentType: “application/json; charset=utf-8”, success: function (data) { Success = true;//doesnt goes here }, error: function (textStatus, errorThrown) { Success = false;//doesnt goes here } }); //done after here return […]

ASP.NET – 使用jQuery基于JSON的Web服务的正确方法是什么?

将基于ASP.NET SOAP的Web服务转换为基于JSON的响应的正确方法是什么? …然后从jQuery调用这些? 在集成基于jQuery的AJAX和ASP.NET时,什么是“最佳实践”? 文章? 图书?

从jQuery调用Web服务

我正在尝试使用jQuery来使用我的Web服务,并且基本上需要Web服务来调用所有function。 我在.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 […]

PHP Web服务无法使用jQuery AJAX

我在jomsocial环境中创建了Restful Web服务。 它在本地机器上。 当我使用REST控制台测试它时,它会返回响应。 形成的本地url是…… http://localhost:5454/kisan-06/index.php?option=com_api&format=raw&app=users&resource=login&key=dfd8a84f8cdce807ae1d30a838415ea37eaa075c 问题: 当我使用jQuery.ajax调用它时,总是调用错误回调函数。 Ajax调用是…… $.ajax({ type: “POST”, url: “http://localhost:5454/kisan-06/index.php?option=com_api&format=raw&app=users&resource=login&key=dfd8a84f8cdce807ae1d30a838415ea37eaa075c”, data: “{ username: ‘sai.kiks2@gmail.com’, password: ‘123456’}”, contentType: “application/json; charset=utf-8”, cache : false, dataType: “json”, success: function(data) { alert(“in success”); }, error: function(jqXHR,error, errorThrown){ //alert(“There was an error loggin in”); alert(“responseXML “,jqXHR.responseXML); alert(“responseText: “,jqXHR.responseText); alert(“errorThrown: “,errorThrown); } }); 我有一个asp.net Web服务,它返回响应为… {“UserID”:”180339206″,”LogInName”:”Amol Chakane”,”IsValid”:”True”,”UserRoleID”:”1″,”IsPending”:”0″,”IsOrganization”:”False”} […]

将JSON集合发送到ASMX Web服务

我有这堂课 : public class DesignElements { public List Elements; public bool Front { set; get; } public string ThemeID { set; get; } public DesignElements() { Elements = new List(); } } 将此类序列化为页面的结果是: var json= { “Elements”: [ {“Alignment”:null,”Bold”:false}, {“Alignment”:null,”Bold”:false} ], “Front”:true, “ThemeID”:”9″ }; 问题是使用jQuery将页面中的json发送到web服务 我应该使用JSON.stringify方法并将其作为字符串发送? 如果是的话,网络服务中的参数名称是什么? 我可以将json作为DesignElements对象发送到Web服务。 如果是的话,Web服务中Argument的名称是什么?