Tag: jsonp

jQuery JSONP调用PHP后端:没有HTTP响应

更新IV /当前状态:我现在已经确认了另一个问题,即文件的字符编码很好,而不是问题的原因。 我还测试了另一台服务器,错误仍然存​​在。 然而它确实对localhost有效。 总结一下: JSONP调用适用于localhost,但是当针对外部域运行时,来自服务器的响应是空的(没有头/没有http响应代码)。 复制请求的URL并将其直接插入浏览器时,输出正确并且格式正确(utf-8 / json)。 小提琴: http : //jsfiddle.net/5SJvp/1/ 更新III:我现在能够在localhost上成功运行它。 但是,对我的生产域使用完全相同的代码(客户端和服务器)仍然会失败。 来自服务器的响应是“空的”意味着它不返回http状态代码。 更新II:经过一些调试后,我注意到响应不包含http状态代码。 这可能是我问题的原因? 我认为这意味着服务器端有问题,但我不能为我的生活看到哪里。 更新I:从jQuery剪切请求似乎停止。 // Do send the request // This may raise an exception which is actually // handled in jQuery.ajax (so no try/catch here) xhr.send( ( s.hasContent && s.data ) || null ); Params(来自Firebug) _ 1356655864905 callback […]

使用jQuery的$ .ajax()或$ .getScript()方法时,有何方法来识别重定向?

在我公司的在线应用程序中,我们设置了一个基于JSONP的API,它返回我正在开发的书签使用的一些数据。 这是我设置的快速测试页面,它使用jQuery的$.ajax()方法访问API URL: http://troy.onespot.com/static/3915/index.html 如果您使用Firebug的“网络”选项卡(或类似)查看请求,您会看到发生的事情是URL已成功请求,但由于我们的应用程序将任何未经授权的用户重定向到登录页面,因此登录页面为也被浏览器请求并且看似解释为JavaScript。 这不可避免地导致exception,因为登录页面是HTML而不是JavaScript。 基本上,我正在寻找任何类型的钩子来确定请求何时导致重定向 – 某种方式来确定URL是否解析为JSONP响应(将执行我在bookmarklet脚本中预定义的方法)或者它导致了重定向。 我尝试在try {} catch(e) {}块中包装$.ajax()方法,但这不会捕获exception,我假设因为请求成功,而不是解析登录页面作为JavaScript。 有没有我可以使用try {} catch(e) {}块,或$.ajax()任何属性,可能允许我磨练exception或以其他方式确定我已被重定向? 我实际上怀疑这是可能的,因为$.getScript() (或$.ajax()的等效设置)只是动态加载脚本,并且无法检查响应头,因为它是跨域而不是真正的AJAX: http://api.jquery.com/jQuery.getScript/ 我的另一种方法是只关闭$.ajax()一段时间,直到我得到JSONP回调或不做,在后一种情况下,假设用户没有登录并提示他们这样做。 但是,我不喜欢这种方法,因为它会导致对应用服务器的大量不必要的请求,并且同时也会堆积JavaScriptexception。 谢谢你的任何建议!

如何在php中创建一个类似于search.json的twitter

我在我的网站上创建了一个生成JSON字符串的search.php文件,帮助我为我的应用程序使用实时ajax。 但现在,我想将其作为API打开给其他人,但我发现$ .get $ .getJSON $ .ajax不允许使用来自其他服务器/域的search.php文件。 如何将我的php搜索转换为search.json,就像Twitter一样,将参数传递给它。 谢谢

如何在javascript中从回调函数中获取整个数据

我编写了以下函数,该函数从url获取json数据。 function getWeatherDataForCities(cityArray){ var arrAllrecords = []; var toDaysTimestamp = Math.round((new Date()).getTime() / 1000) – (24*60*60); for(var i in cityArray){ for(var j=1; j<=2; j++){ var jsonurl = "http://api.openweathermap.org/data/2.5/history/city?q="+cityArray[i]+"&dt="+toDaysTimestamp; $.ajax({ url: jsonurl, dataType: "jsonp", mimeType: "textPlain", crossDomain: true, contentType: "application/json; charset=utf-8", success: function(data){ arrAllrecords[j]["cityName"] = data.list[0].city.name; arrAllrecords[j]["weather"] = data.list[0].weather[0].description; } }); toDaysTimestamp = toDaysTimestamp – (24*60*60); […]

Photoswipe + JQM:回事件问题

$(document).on(“pagecreate”,function(){ $ .jsonp({ url:’URL_TO_GET_JSONP’, callbackParameter:’get_photo’, 成功:函数(json,status){ var photo = []; var path =’URL_TO_GET_JSONP’; $ .each(json,function(a,b){ photo.push(” “); photo.push( ”); photo.push(” “); }); $( ‘画廊 ‘)HTML(photo.join(”)); var myPhotoSwipe = $(“。gallery a”)。photoSwipe({ enableMouseWheel:false, }) }, 错误:function(){ 警报(“无法加载照片。”); } }); }); 我遇到了图库和浏览器后退按钮的问题。 与小(x)按钮相反,用户更有可能按下他们的后退按钮离开画廊。 问题是,当您使用后退按钮时,您最终会在空白页面上没有导航或内容只是页面背景。 (例如: http : //www.photoswipe.com/latest/examples/04-jquery-mobile.html ) 它有什么工作吗?

获取LinkedIn分享数量JSONP

使用LinkedIn API,我想获得URL的共享计数。 https://www.linkedin.com/countserv/count/share?url=http://www.linkedin.com&format=json 但是由于同源策略,这给了我一个错误。 我想使用JSONP然后获取数据,但我被困在那里。 $.getJSON(“https://www.linkedin.com/countserv/count/share?url=https://www.linkedin.com&format=jsonp&callback=myCallback”, function(data) { elem.find(“.count”).html(data.count); }); 我仍然得到Same-Origin Policy错误,没有data.count的数据。 谁能帮我吗? 谢谢!

使用JQuery访问ASP.net webservice时出错 – JSONP

请查看下面的代码,并帮助我弄清楚我的Web服务代码中出了什么问题。 我想建立一个可以使用JSONP使用的asp.net Web服务。 我在客户端使用Jquery来访问该站点。 即使在设置了适当的属性后,我的Web服务仍然会发出xml,因为aynch调用失败了。 网络服务 [WebService(Namespace = “http://tempuri.org/”)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public WebService () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] [ScriptMethod(ResponseFormat= ResponseFormat.Json, XmlSerializeString=false, UseHttpGet=true)] public string HelloWorld(int id, string __callback) { return __callback + “({message: ‘Hello World’})”; } } Web服务响应: test({message: […]

AngularJS中的JSONP请求不像jQuery那样工作

我想用AngularJS的$ http服务请求Dailymotion API,但它似乎不像jQuery那样工作。 var url = ‘https://api.dailymotion.com/videos?fields=id,audience,onair&ids=xzttq2_c,xrw2w0’; 请求使用jQuery jQuery.ajax({ type: ‘GET’, url: url, dataType: ‘jsonp’, success: function(data) { console.log(‘Success’, data); }, error: function(data) { console.log(‘Error’, data); } }); 结果 使用jQuery,它工作得很好。 我不必使用回调。 Success Object {page: 1, limit: 10, explicit: false, has_more: false, list: Array[2]} 请求使用AngularJS $http({ method: ‘jsonp’, url: url, responseType: “json” }). success(function (data) { […]

用jsonp等效于ajaxSend和/或ajaxComplete?

现在我使用: $(“#status”) .on(“ajaxSend”, function() { $(this).show(); } ) .on(“ajaxComplete”, function() { $(this).hide(); } ); 获取ajax工作时的状态。 这适用于json,但不适用于jsonp。 有没有办法让这个与jsonp一起使用? 谢谢。

使用“隐藏”CSS属性或获取每组新图像更好吗?

我试图通过使用JSONP的jQuery AJAX调用从Flickr获取一堆照片数据。 我想一次显示n个图像,然后在每次用户单击按钮时显示下n个图像。 我读过一种方法是在回调函数中将所有图像添加到DOM中,并使用“隐藏”CSS属性隐藏并显示用户单击时的下n个图像。 这是推荐的做法吗?