Tag: jsonp

JSONP与Jquery 1.9和Jersey 2.5.1

我已经google了很多,发现什么都不适合我的需求。 我在这里 , 这里和这里找到了这些类似的线程,但它们没有解决我的问题,或者我没有正确理解这一点。 我也读了几次jersey文件 。 我正在使用jersey 2.5.1开发服务器端应用程序,使用HTML / CSS / JavaScript开发客户端。 所以对于这个很好,但不是我磕磕绊绊。 我正在使用Media-Moxy作为我的Java2Json映射器。 @GET @JSONP @Path(“search”) @Produces({MediaType.APPLICATION_JSON, “application/javascript”}) public String findByTagsAndBoundingBox(@QueryParam(“topLeftLat”) Double topLat…) { // do some work return json.toString(); } 如果我现在在命令行上做一个curl(请参阅泽西文档请求的接受头) curl -X GET -H “Accept: application/javascript” “http://localhost:8181/xxxxx/xxxx/search?topLeftLat=59.93704238758132&topLeftLon=10.68643569946289&bottomRightLat=59.890573111743336&bottomRightLon=10.806941986083984&tag=Restaurant&callback=?” Jersey确实提供了预期的内容(在JSONP中): callback([{“id”:3134,”lon” …. }]) 但是,如果我用这样的jquery调用它: $.getJSON(“http://localhost:8181/xxxx/yyyy/search?” + query + “&callback=?”, function() { console.log( “success” ); […]

使用CLASSIC ASP将数据返回给jsonp调用

我已经浏览了stackoverflow上的post,似乎无法找到我要找的东西。 如果我这样做(表格: $.ajaxSettings.dataType = “jsonp”; $.get(‘http://MYREMOTESERVER.com/GetCustNewID.asp?callback=?’, function() { //SOMETHING HERE }); 在远程CLASSIC ASP服务器上,如何使用asp,我会返回id吗? 这个Response.Write “[{“”id””: ” & Rs(“@ID”) & “}]”显然不起作用。 谢谢你的帮助。

如何在JSONP响应中管理?

我需要管理像’在我的JSONP请求中的char,通过jquery进行Ajax。 所以(来自C#)这就是我所做的: myText = “Hello I’m a string”; myText.Replace(“‘”, “\'”); Response.Write(Request[“callback”] + “({ htmlModulo: ‘” + myText + “‘});”); 但在客户端,它破了: parsererror – SyntaxError: missing } after property list 所以,我如何管理’如果替换不起作用?

Bing搜索API使用Jsonp无效,标签无效

在Bing的json请求(bing搜索,而不是map)中苦苦挣扎,我收到一条错误回复,上面写着“无效标签” 我的查询url是: var bingurl=”http://api.search.live.net/json.aspx?Appid=##APIKEY##&query=Honda&sources=web”; $.ajax({ type: “GET”, url: bingurl, data: “{}”, contentType: “application/json; charset=utf-8”, dataType: “jsonp”, success: function(data) { $callBack(data); }, error: function(msg) { alert(“error” + msg); } }); Firebug报告’无效标签’,然后转储json响应。 不知道出了什么问题? 帮助赞赏。

SyntaxError:使用jQuery.ajax()的无效标签

我正在尝试使用以下jQuery调用对我的服务器进行Ajax调用: $.ajax({ type: “GET”, dataType: “jsonp”, url: “http://iceworld.sls-atl.com/api/&cmd=time”, success: function (data) { console.log(“success”); console.log(data); }, error: function (error) { console.log(“error”); console.log(error); }, }); 我从浏览器中获得了我期望的数据,但Firebug一直说“SyntaxError:invalid label”,如下所示: 所以,让我感到困惑的是调用错误回调而不是成功的原因。 我想知道我在这里做错了什么。

JQuery – $ .ajax() – 使用JSONP的跨源 – 仅在IE 8中获取’parsererror’(在IE 7中工作)

我有以下代码来执行跨域请求并获取JSONP数据(JSON由回调方法包装)。 我已经validation我正在使用包装我的JSON数据的回调方法正确获得响应。 它在IE7中完美地工作(回调cb被调用)但在IE8中没有。 $(document).ready(function () { var abc = $.ajax({ type: “GET”, url: “http://sd.domain.com/param1=a&param2=b&output=json&callback=cb”, dataType: “jsonp”, jsonp: false, cache: false, success: function (json) { }, error: function (e) { } }); abc.error(function (data, xhr, dat1) { }); abc.complete(function (xhr, status) { var data = xhr.responseText; }); }); function cb(dd) { alert(dd.people[0].nameFirst); } 我将statusText称为’Success’,StatusCode为xhr中的200。 此外,我无法为xhr找到任何称为responseText的属性。 那么如何在错误/完整function中获得响应? […]

将Typeahead与Google自定义搜索引擎结合使用

我正试图让Twitter Typeahead + Bloodhound与Google的CSE合作。 到目前为止,我已经设法返回结果,但我无法计算出datumTokenizer。 var results = new Bloodhound({ datumTokenizer: function(data) { return Bloodhound.tokenizers.whitespace(d.value) }, queryTokenizer: Bloodhound.tokenizers.obj.whitespace, remote: { url: “http://clients1.google.com/complete/search?client=partner&hl=en&sugexp=gsnos%2Cn%3D13&gs_rn=25&gs_ri=partner&partnerid=004914516364918182382%3Ayfqw09r4qvu&types=t&ds=cse&cp=3&gs_id=15&q=%QUERY&callback=showResults&duffCallback=?”, ajax: $.ajax({type:’GET’,dataType:’jsonp’,jsonp:’duffCallback’}), filter: showResults } }); 看小提琴: http : //jsfiddle.net/thugsb/3KAjh/ 你会看到我从showResults()返回的结果是一个数组。 但是,从filter:调用showResults()似乎没有做任何事情,因为删除该行没有任何效果。 所以我不太确定发生了什么。 请注意,duffCallback是我在阅读这个问题时要做的。 如果有更好的方法来完成这项工作我就全都耳朵!

将Accept标头添加到JQuery AJAX GET(通过JSONP)请求

我正在尝试将一个接受标头添加到使用“jsonp” dataType的jQuery AJAX GET请求中,但由于某种原因它无法正常工作。 到目前为止,这是我的代码。 var e4json = JSON.stringify( { “thomas_smith106” : “Daniel244”, “transaction_type” : “34”, “transaction_tag” : “902006933”, “authorization_num” : “ET4653”, “amount” : “15.75” } ); $.ajax ({ url: “https://api.demo.globalgatewaye4.firstdata.com”, type: “GET”, headers : { ‘accepts’ : ‘application/json’ }, data: e4json, dataType: “jsonp”, success: function (response) { alert(‘Successfuly called the e4 gateway api’); } […]

我无法使用jQuery和abort()函数停止ajax请求

我的jQuery如下: var x = $.ajax({ dataType: “jsonp”, url: “https://ajax.googleapis.com/ajax/services/search/images?q=google&v=1.0”, success: function(msg){ alert( “Jsonp data: ” + msg ); } }); alert(x); // x is undefined // x.abort()​​ 您可以在此处尝试此代码: http : //jsbin.com/iyile3/2/edit 我想停止这个ajax请求并停止这个ajax请求的成功函数。 但我得到的是“x”未定义,我想我不会停止这个ajax请求及其成功函数。 所以有人可以帮助我吗? 非常感谢你!

jQuery AJAX JSON数据类型转换

希望这个头衔不是太神秘。 发生的事情是我有一个jQuery AJAX脚本,我试图用来访问远程服务器上的API,它返回一个JSON响应。 但是,API将JSON作为MIME类型“text / html”(在响应头中)而不是“application / json”返回。 很明显,我只需要将返回的内容类型从文本更改为JSON,以使AJAX调用正确地解释数据。 不幸的是,这种情况并非如此。 我已经以多种不同的方式尝试过这种方式,但都失败了。 最接近我得到这个API调用的工作是调试器告诉我“资源被解释为脚本但是使用MIME类型text / html传输”。 并且AJAX调用错误输出我的调试消息以JSON格式转储jqXHR对象,它告诉我: {“readyState”:4,”status”:200,”statusText”:”parsererror”} 这是我的代码的一个例子(虽然我已经多次改变代码,但是我试图让它工作,但这个版本似乎最接近正确): $.ajax({ type: ‘GET’, url: ‘http://username:api-key@www.kanbanpad.com/api/v1/projects.json’, contentType: ‘application/json’, dataType: ‘jsonp’, converters: { ‘jsonp’: jQuery.parseJSON, }, success: function(data) { alert(data); }, error: function(jqXHR, textStatus, errorThrown) { console.log(JSON.stringify(jqXHR)); console.log(textStatus+’: ‘+errorThrown); } }); 如果有人能够弄清楚我需要采取哪些不同的方式来完成这项工作,我将非常感激。 值得注意的是,如果您将API URL复制/粘贴到浏览器地址栏并按下go,它会使用正确的响应头(“application / json”)提供正确的JSON响应