标签: jsonp

没有调用jQuery.ajax转换器

我遇到了jQuery.ajax转换器的问题 - 我无法调用我的转换器.

我有这个jQuery AJAX代码(简化问题):

    $.ajax({
    url: "http://myurl/myservice",
    dataType: "JSONP",
    cache: false,
    success: function (data, textStatus, jqXHR) { /* do stuff */ },
    error: function (jqXHR, textStatus, errorThrown) { /* do stuff */ },
    timeout: 5000,
    converters: { "JSONP": myConversionFunction }
});
Run Code Online (Sandbox Code Playgroud)

当我使用这段代码时,没有调用转换器函数myConversionFunction.我想使用转换器来转换响应中的日期,如同在其他SO问题中显示但是无法解决它.

使用fiddler我已经检查了响应,它是JSONP,内容类型为"application/x-javascript".

我有什么想法我做错了吗?

谢谢,克里斯.

javascript jquery json jsonp

4
推荐指数
1
解决办法
6705
查看次数

jQuery、CORS、JSON(无填充)和身份验证问题

我有两个域。我正在尝试通过另一个域上的页面从一个域访问 JSON 对象。我已经阅读了有关此问题的所有内容,但仍然无法弄清楚。

提供 JSON 服务的域具有以下设置:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, OPTIONS"
Header set Access-Control-Allow-Headers "origin, authorization, accept"
Run Code Online (Sandbox Code Playgroud)

从我的其他域,我调用以下内容:

$.ajax({
         type:'get',
         beforeSend: function(xhr) {
             var auth = // authentication; 
             xhr.setRequestHeader("Authorization", "Basic " + auth);
         }
         url:myUrl,
         dataType:'json',
         error: function(xhr, textStatus, errorThrown) { console.log(textStatus, errorThrown); }
      })
Run Code Online (Sandbox Code Playgroud)

我知道“auth”已正确初始化(记录并检查)。然而,这是行不通的。在 Firefox 的控制台中,我得到请求 URL:...

Request Method:
OPTIONS

Status Code:
HTTP/1.1 401 Authorization Required
Run Code Online (Sandbox Code Playgroud)

如果我去掉该beforeSend:...部分,我会看到以下内容

Request Method:
GET

Status Code:
HTTP/1.1 401 Authorization Required
Run Code Online (Sandbox Code Playgroud)

但是,服务 JSON 的域也可以服务 JSONP。我不想使用这个,主要是因为应用程序将在专用浏览器上不断运行,我担心这个问题。更重要的是,我真的很想知道我所做的事情到底出了什么问题。我知道出于实际目的,有多种方法可以克服 …

javascript ajax jquery jsonp cors

4
推荐指数
1
解决办法
1万
查看次数

为什么AJAX json脚本返回额外的0(零)

我在WordPress中有一个AJAX函数,它调用PHP函数来返回数据库中瞬态记录的值.

当我使用jQuery调用函数时,我收到结果,但它总是在值上附加一个额外的0(零).

这是我的jQuery函数:

(function($) {
    $(document).ready( function() {

        var AdvancedDashboardWidget = function(element, options)
        {
            var ele = $(element);
            var settings = $.extend({
                action: '',
                service: '',
                countof: '',
                query:   '',
                callback:''
            }, options || {});
            this.count=0;
            var url='';
            switch(settings.service)
            {
                case 'facebook':
                    if(settings.countof=='likes' || settings.countof=='talks')
                    {
                        ajaxCall(action,ele,settings);  
                    }
            }
        };

    var ajaxCall = function(action,ele,settings){
        opts = {
            url: ajaxurl, // ajaxurl is defined by WordPress and points to /wp-admin/admin-ajax.php
            type: 'POST',
            async: true,
            cache: false,
            dataType: 'json',
            data:{
                action: settings.action …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery json jsonp

4
推荐指数
1
解决办法
2774
查看次数

jQuery 自动完成自定义数据并显示除了标签、值

我正在尝试从 json 中提取一些数据并使用 jquery 自动完成功能显示它们。

json 数组包含 ID、标题、日期。在显示屏上,我想显示标题和日期,单击时我想解析该标题的特定 ID。

所以目前我有:

$("input").autocomplete({
      source: function (d, e) {
          $.ajax({
              type: 'GET',
              url: url + mode + encodeURIComponent(d.term) + key,
              dataType: "jsonp",
              success: function (b) {
                  var c = [];
                  $.each(b.results, function (i, a, k) {
                    c.push(a.title + " " + a.date) // Displays Title and Date
                  });
                  e(c)
              }
          })
      },
      select: function (a, b) {
          console.log(b);
            // Appends an array with 2 keys: Value and Label. 
            // Both display the title …
Run Code Online (Sandbox Code Playgroud)

jquery jsonp jquery-ui autocomplete jquery-ui-autocomplete

4
推荐指数
1
解决办法
2万
查看次数

嵌套$ .getJSON的范围问题


$.getJSON('http://twitter.com/followers/ids.json?screen_name=/…'+ query1 + '&callback=?',
  function(data) {
    alert('JSON data string 1 is: '+data); 
    $.getJSON('http://twitter.com/followers/ids.json?screen_name=/…'+ query2 + '&callback=?', 
      function(data1) {
        alert('JSON data string 2 is: '+data1); 
        f2=data1; 
        f1=data; 
        for(var i=0; i "less than" f1.length; i++)
        {
          for(var j=0; j "less than" f2.length; i++)
          {
            if (f1[i] == f2[j])
            {
              common[c]=f1[i];
              c+=1;
            }
          }
        }
        $('#content').append(''+common.length+'');//this line is not working though....... 
    });
});
Run Code Online (Sandbox Code Playgroud)

在这条线上

$('#content').append(''+common.length+'');
Run Code Online (Sandbox Code Playgroud)

实际上它并不显示页面挂起的输出

任何帮助将不胜感激.

谢谢

twitter jquery jsonp scope callback

3
推荐指数
1
解决办法
3878
查看次数

如何使用JSONP来克服XSS问题?

我有一个javascript在jetty服务器上执行,它正在向另一台服务器(wamp服务器)上的scoket发送XMLHTTPRequest.请求被发送到套接字,但XHR响应似乎被阻止.

我听说我可以使用JSONP来解决这个问题.然而,因为我是新手两个javascript我从来没有使用JSONP技术之前我会非常感谢如何使用这种技术的任何帮助?

function sendPost(url, postdata, callback) {

xmlHttp=GetXmlHttpObject()

if (xmlHttp==null) {
    alert ("Browser does not support HTTP Request")
    return
} 

xmlHttp.onreadystatechange=callback
xmlHttp.open("POST",url,true)
xmlHttp.send(postdata);

}

function sendInitRQ(width, height) {

var post = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><command     type=\"init\"><width>" + width + "</width><height>" + height + "</height></command>";

sendPost("http://localhost:80/socket.php", post, initReturned);

}
Run Code Online (Sandbox Code Playgroud)

我知道php套接字正在接收帖子,因为当我检查服务器日志时,我在获取请求上得到200.

我只是想知道如何使用JSONP方法?我已经看到了该方法的示例,但我仍然不确定如何做到这一点.

javascript xss jsonp xmlhttprequest

3
推荐指数
1
解决办法
6121
查看次数

支持JSONP的ASP.NET通用HTTP处理程序(.ashx)

有人可以显示返回JSON并支持跨域调用的HTTP处理程序的示例.我正在使用jQuery的getJSON()将请求发送到我的Web服务器上的.ashx文件.

我明白我需要添加?callback =?在getJSON()url中我的url,但我不确定在我的ashx文件中需要在服务器上做什么?

asp.net ajax json jsonp

3
推荐指数
1
解决办法
5727
查看次数

JSON日期格式mm/dd/yyyy

以下是我获取的数据:

jsonp1290537545248([{"Active":true,"EndDate":"\/Date(-62135578800000-0500)\ /","StartDate":"\/Date(1280635200000-0400)\ /"}]);

  $.getJSON(url, {},
      function (data) {
          alert(data[0].EndDate);
          alert(Date(data[0].StartDate));
          //alert(data[0].StartDate.getDate());// + "/" + (data[0].StartDate.getMonth() + 1) + "/" + data[0].StartDate.getFullYear()); // alerts: "15/10/2008" 
          //var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
          alert('dd    ' + new Date(parseInt(data.substr(6)))); 

      });
Run Code Online (Sandbox Code Playgroud)

我如何获得MM/DD/YYYY格式?

jquery json jsonp

3
推荐指数
1
解决办法
2万
查看次数

javascript JSONP回调函数未定义

(
function restoreURL() {
    function turnLongURL(data) {
        window.location = data.url;
    }

    var shortUrl = window.location.href;

    var url = "http://json-longurl.appspot.com/?url=" + shortUrl + "&callback=turnLongURL";

    var script = document.createElement('script');
    script.setAttribute('src', url);

    document.getElementsByTagName('head')[0].appendChild(script); 
})();
Run Code Online (Sandbox Code Playgroud)

代码在上面,但是萤火虫告诉我,turnLongURL 没有定义

这是为什么?

javascript jsonp

3
推荐指数
1
解决办法
4782
查看次数

无法存储使用jQuery JSONP获取的数据

我试图通过使用JSONP的jQuery AJAX调用从Flickr获取一堆照片数据,但我不想立即使用这些数据.相反,我想保留它以供日后使用.在一个复杂的情况下,我想让用户对预取的数据执行不同的查询.在更简单的情况下,我想在每次用户单击按钮时加载下n个图像.

现在,我正在测试下面最基本的功能,它是根据这个问题的最佳答案改编的:JQuery - 将ajax响应存储到全局变量中

但是,检索到的JSON数据不会存储在jsonData变量中.我将alert语句调试,奇怪的是getData()警报是在回调函数中的警报之前触发的.为什么会这样?

var dataStore = ( function() {
  var jsonData;

  $.ajax({
    type: "GET",
    url: "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
    dataType: "json",
    data: {
      tags: "dog",
      tagmode: "any",
      format: "json"
    },
    success: function(data) {
      jsonData = data;
      alert(jsonData);
    }
  });

  return { getData : function()
  {
      if (jsonData) return jsonData;
      else alert("no data!");
  }};
})();

var stuff = dataStore.getData();

$.each(stuff.items, function(i,item) {
  $("<img/>").attr("src", item.media.m).appendTo("#images");
  if ( i == 3 ) return false;
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery jsonp store

3
推荐指数
1
解决办法
1295
查看次数