Tag: jsonp

以jsonp发送请求,使用jQuery 1.5将响应解释为文本

简短的问题:有没有办法向服务器发出jsonp请求,捕获请求,但不能将其解析为javascript? 我在jQuery 1.5中使用dataType:“jsonp text”但它无法正常工作。 我正在尝试使用jsonp通过AJAX访问跨域URL。 问题是另一个域(我大学的目录列表)很老,我怀疑服务器是否支持jsonp。 在Firefox中,我收到“XML标记名称不匹配(预期的META)”错误。 在chrome中,我得到一个“Uncaught SyntaxError Unexpected token <”,它们都指向与我的AJAX请求相对应的文件。 错误回调中的错误字符串是“parsererror”。 我无法进行正常的AJAX调用 – 当我将数据类型更改为“text”或将其全部删除时,另一个域会抱怨用户未经过身份validation并重定向到登录页面 – 即使我已经登录浏览器端。 当dataType是jsonp时,这不会发生。 我知道服务器需要支持JSONP,我认为不行,但是当我将dataType更改为JSONP时,我可以看到响应页面资源显示在Chrome和Firefox中 – 所以服务器实际上将响应发送到浏览器(静态HTML网页+一些java脚本) – 包含我想要获取的数据。 问题是jQuery试图将响应解析为javascript,并且失败(因为它不是javascript)。 所以数据最终会在浏览器中显示 – 我只需要访问它! 使用dataType:“jsonp text”应该指示发送jsonp请求并将响应解释为文本没有区别 – 仍然是解析错误。 我想要的是:一种从jsonp请求以纯文本forms访问响应的方法。 或者,如果我可以从失败的jsonp请求访问原始响应 – 这也可以。 提前致谢! 码: ajax_url = ‘https://somesite/?searchTerm=’+query+’&searchType=lastname’; var jqxhr = $.ajax({type:”GET”, url: ajax_url, dataType:”jsonp text”, callback: “whatever”, success:function(responseData) { $(‘div#content’).text( responseData.slice(0, […]

AJAX JSONP调用自动添加回调参数。 如何删除?

我的服务很少 – 有干净的URL 在调用每个服务时,正在检查URL模式。 现在我正在使用JSONP技术从另一台服务器通过AJAX调用这些URL。 但是,在调用时,它会自动添加带有服务URL的callback和_(timestamp)参数。 通过添加cache : true删除timestamp参数。 但是无法删除回调参数。 这是我的AJAX调用代码 – $.ajax({ type: ‘GET’, url : “http://test.com/test/services/getFollowMeHistory/1/1/50”, dataType:’jsonp’, cache : true, crossDomain : true, //jsonpCallback : false, error : function(XMLHttpRequest, textStatus, errorThrown) { alert(“Error occured while loading Loads.”+textStatus); } }); }); 它调用URL作为http://test.com/test/services/getFollowMeHistory/1/1/50?callback=false并从服务端获得404。 我的服务是将数据作为callbackMethod({.. JSON RESPONSE …})返回 。 因此,它会在我的脚本中自动调用function callbackMethod(data) 。 我不需要我的URL中的回调参数。 只需要从URL中删除?callback=…部分 Plz的帮助。

未捕获的TypeError:属性…不是函数 – 页面加载后

我正在使用跨域Ajax请求到外部API。 每隔一段时间它就会失败,并显示控制台消息: Uncaught TypeError: Property ‘photos’ of object [object DOMWindow] is not a function 查看返回的JSON,它是有效的JSON,因此它不是外部API的错误。 我无法可靠地重现错误:似乎触发错误的唯一因素是我快速重复地调用请求。 在这种情况下,我在用户移动Google地图时调用Ajax请求(向地图添加标记),如果用户移动得太快,就会发生这种情况。 以下是我的代码的相关部分: // Code located inside an external JS file referenced inside the head // Not wrapped inside document.ready – but all the code setting up // the map (calling a function which calls a function which adds the […]

使用jQuery,从跨域url访问json,其中json可能形成不良

我正在使用jQuery的ajax函数来访问跨域url。 该url将返回json。 我正处于发现阶段,但我想,因为json值包含几个’&quot’字符串,json eval会抛出错误并停止执行我的客户端脚本。 我得到的错误是“未终止的字符串文字”。 我知道如果我将返回的json硬编码放在本地div中并删除””’ 字符串(和一些隐藏的特殊字符),我可以成功地获得json到eval。 无论是通过解决方法,还是通过修改我的代码,我可以做些什么来从URL中获取json并将其存储在我的客户端javascript中作为有效的json对象? 我目前的代码。 没有定义的函数(success,complete,error,dataFilter)执行: $(function() { $.ajax({ url: “http://www.codemash.org/rest/sessions.json?format=jsonp&callback=?”, dataType: “jsonp”, success: successFunc, complete: completeFunc, error: errorFunc, dataFilter: dataFilterFunc }); }); function successFunc() { console.log(‘successFunc(). enter.’); } function completeFunc() { console.log(‘complete(). enter.’); } function errorFunc() { console.log(‘errorFunc(). enter.’); } function dataFilterFunc(data, type) { data.replace(/\W/g, ‘ ‘); return data; }

我如何使用mixpanel API?

我无法连接到mixpanel。 我试过一个正确的api_key和api_secret,像这样: $(document).ready(function() { $(“#btnTest”).click(function() { var api_key = ‘BigSecret’; var api_secret = ‘BigSecret2’; var expire = new Date(‘2012′, ’12’, ’24’).getTime() / 1000 + 3600; var from_date = $(“#date1”).val(); var to_date = $(“#date2”).val(); var sig = faultylabs.MD5(“api_key=” + api_key + “expire=” + expire + “from_date=” + from_date + “to_date=” + to_date + api_secret); //var path […]

动态多个延迟jQuery Ajax调用

使用jQuery http://api.jquery.com/jQuery.when/中的Deferred模式,我尝试进行多个jsonp ajax调用并等待结果,然后再转到下一步。 我可以使用固定数量的调用来完成此操作,因为我可以在“.done()”延迟对象中设置已解析参数的数量。 但是在我的应用程序中它不起作用,因为调用的数量是动态的并且总是未知的。 第一个简化示例有效,因为我可以设置.done()已解析函数中的args数。 我知道我需要两个,因为.when()中有两个调用: $.when( $.ajax( url1 ), $.ajax( url2 ) ).done(function( a1, a2 ) { var data = a1[ 0 ] + a2[ 0 ]; }); 这是我需要的但却无法使用它: var urls = GetUrlList(); // returns array of urls to json service var requests = []; // hold ajax request for (i = 0; […]

WCF跨域使用Jsonp错误未捕获SyntaxError:意外的令牌:

我试图使用jQuery在跨域调用webservice。 这是我的代码来调用服务 $(document).ready(function () { $.ajax({ type: ‘GET’, async: false, contentType: “application/json”, url: “http://localhost:52136/Service1.svc/Helloworld?callback=func_callbk”, dataType: “jsonp”, success: function (data) { alert(‘sucesss’) alert(data.d); }, error: function (data) { alert(data); } }); }); func_callback = function (data) { alert(data.data.people[0].id); } 我从服务返回简单的字符串。 public string HelloWorld() { return “Hello World”; } 服务是从,但我收到错误 未捕获的SyntaxError:意外的令牌: 在Chrome的控制台窗口中。 我从浏览中调用服务时收到此字符串: {“HelloWorldResult”:”Hello World”} 请让我知道我哪里错了? 提前致谢。

如何使用JSONP从localhost向domain.com发送数据

我试图将数据作为json从localhost发送到网站domain.com ,我发现jquery在使用cross-domains时无法发送它; 然后我读到了关于jsonp ,现在我不知道如何编写代码; 不知何故,我需要用jsonp调用替换news函数中的代码; function news(data) { $.ajax({ ‘url’: ‘http://domain.com/index.php/api/news’, ‘data’: {‘data’: data}, ‘success’: function(data) { }, dataType: ‘json’ }); } function unique(data) { $.ajax({ ‘url’: ‘http://localhost/fb-group/index.php/api/unique’, ‘data’: {‘data’: data}, ‘success’: function(data) { if (data && (data.status === 1) && data.news) { news(data.news); } }, dataType: ‘json’ }); } access_token = ‘token’; $.ajax({ ‘url’: […]

来自Ajax-Call的响应不起作用

当我执行ajax调用时,我收到以下错误: “未捕获的SyntaxError:意外的令牌:” 我的jquery代码如下所示: $.ajax({ type: ‘GET’, url: “http://www.exampleUrl.com”, crossDomain: true, dataType: “jsonp”, jsonp: “jsonp”, mimeType: “application/json”, jsonpCallback: ‘callback’, contentType: “application/json; charset=utf-8”, beforeSend: function() { }, success: function (data) { alert(“success”); }, error: function (result) { } }); 为什么我没有得到json的回应。 在我的浏览器中直接使用相同的URL时,我得到了期待的json响应。 怎么了?

async-ajax调用未按预期工作

建立: 我正在做一个ajax-jsonp调用,它工作正常。 这个回调函数改变了变量“myVaraible”的值。 在调用之后,有一些if-else逻辑可以处理“myVaraible”的值。 这是代码: function myfunction() { $.ajax({ url: myURL, dataType: “jsonp”, jsonp : “jsonp”, async: false, jsonpCallback: “jsonpCallbackFn” }); } function jsonpCallbackFn(mydata) { alert(“inside jsonpCallbackFn”); if(something) { // change value of a variable “myVariable”; } } $(document).ready(function() { $(“#preview_button”).mouseover(function() { myfunction(); alert(“after myfunction”); // do some if-else logic based upon the value of […]