Tag: rest

使用date将JQuery JSON发送到WCF REST

我知道有很多关于通过JQuery / JSON使用WCF REST的post,但我无法让它工作。 我目前停留在日期参数。 下面是我的C#方法: [OperationContract] [WebInvoke] [TransactionFlow(TransactionFlowOption.Allowed)] string GoodRegister(DateTime pDtTimeStampTransac, Int32 pIDResource, Decimal pQty, enQtyLogType pQtyGoodLogType); 以下是我的JavaScript代码: /// /// Date.prototype.toMSJSON = function () { var date = ‘\\\/Date(‘ + this.getTime() + ‘)\\\/’; return date; }; function botaoclick() { var date = new Date().toMSJSON(); var datavar = { ‘pDtTimeStampTransac’: date, ‘pIDResource’: 1, ‘pQty’: 1 […]

Ajax调用从RESTful服务返回的下载文件

我是AJAX的新手。 我正在使用AJAX向服务器发送请求。 该服务返回一个文本文件。 但是返回数据时不会出现下载框。 返回文件的其余服务如下: @Path(“/examples”) public class ExampleCodesRest { @POST @Path(“/getcode”) @Produces(MediaType.TEXT_PLAIN) public Response getCodes(@Context ServletContext context){ String in=context.getRealPath(“/WEB-INF/reports.jrxml”); File file=new File(in); ResponseBuilder response = Response.ok((Object) file); response.header(“Content-Disposition”, “attachment; filename=\”file_from_server.log\””); return response.build(); } } 我的AJAX调用如下: $(‘a#link’).click(function(event){ event.preventDefault(); $.ajax({ url: ‘/reports/rest/examples/getcode’, type: ‘POST’ }); }); 没有AJAX,文件下载成功。 使用AJAX,它不会下载文件。请咨询。

如果使用PUT,SpringMVC无法识别请求体参数

也许这应该不起作用,但至少我想了解为什么。 我在PUT体中传递一个简单的val = somevalue但是spring发回400 Bad Request因为它似乎没有识别val参数。 类似的请求适用于POST 。 可能是SpringMVC没有将PUT请求体识别为参数源吗? 在两种情况下, Content=-Type都正确设置为application / x-www-form-urlencoded。 spring拒绝调用的方法是: @RequestMapping(value = “config/{key}”, method = RequestMethod.PUT) @ResponseBody public void configUpdateCreate(final Model model, @PathVariable final String key, @RequestParam final String val, final HttpServletResponse response) throws IOException { //… } 为了完整性,这里是jquery ajax调用。 我看不出有什么不妥。 客户端是Firefox 4或Chrome,两者都显示相同的结果。 $.ajax({ url:url, type:’PUT’, data:’val=’ + encodeURIComponent(configValue), success: function(data) […]

将复杂对象传递到WCF Rest Service

我有一个操作契约,它接受一个复杂的对象,我通过jQuery调用该操作。 如何使用jQuery传入类似于复杂类型的对象。 以下是操作签名: public Resolution CreateNewResolution(Resolution NewResolution); 我需要在客户端传递一个Resolution对象,但我不知道如何使用jQuery。 有帮助吗? 谢谢

Access-Control-Allow-Origin否认spotify api

我正在尝试访问Spotify API令牌,如下所示: $.ajax({ url: “https://accounts.spotify.com/api/token”, type: ‘POST’, contentType: “application/json; charset=\”utf-8\””, crossDomain: true, data: { grant_type: “authorization_code”, code: code, redirect_uri: “http://www.bancadigital.com.br/spotifyteste/callback.html” }, processData: false, dataType: “json”, headers: { Authorization: “Basic ” + utf8_to_b64(key) }, success: function( response ) { alert(response.access_token); }, }); 但该服务返回以下错误: XMLHttpRequest无法加载https://accounts.spotify.com/api/token 。 请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此,不允许来源“ http://www.bancadigital.com.br ”访问。 有谁知道我如何访问该服务?

将JSON数据从JQuery发送到WCF REST方法时出现问题

我在使用jquery将一些json数据发布到我在WCF服务上的rest方法时遇到了一些麻烦。 在WCF方面,这是操作合同: [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = “PostSomething”)] MyResult PostSomething(MyRequest request); MyResult和MyRequest都标有所有必需的DataContract和DataMember属性,服务正在暴露WebHttp端点。 在JQuery方面,这是我的函数调用: var jsonStr = JSON.stringify(reqObj); $.ajax({ type: “POST”, dataType: “json”, url: “http://localhost/MyService/PostSomething”, contentType: “application/json; charset=utf-8”, data: jsonStr, success: function (html) { alert(html); } }); 这个请求永远不会到达我的方法(我每次都得到一个405方法不允许),并查看Charles的请求如下所示: OPTIONS /MyService/PostSomething HTTP/1.1 Host: localhost Cache-Control: max-age=0 Access-Control-Request-Method: […]