Javascript JSONP使用JQuery从HTTPS协议获取JSON

Javascript JSONP使用JQuery从HTTPS协议获取JSON,javascript,jquery,ajax,json,jsonp,Javascript,Jquery,Ajax,Json,Jsonp,我正在尝试获取一个JSON,它是从https安全站点发送的 客户端希望不使用任何服务器端语言(全部都是Javascript) 我已经读到,在使用Jquery中的.ajax函数时,为了从安全站点加载JSON,我必须使用JSONP 我的第一个问题是,我需要将这个JSONP设置为什么格式?现在,我的代码如下所示: html =new Object(); html = $.ajax({ url: "https://my-secure.net", async: false,

我正在尝试获取一个JSON,它是从https安全站点发送的

客户端希望不使用任何服务器端语言(全部都是Javascript)

我已经读到,在使用Jquery中的.ajax函数时,为了从安全站点加载JSON,我必须使用JSONP

我的第一个问题是,我需要将这个JSONP设置为什么格式?现在,我的代码如下所示:

html =new Object();
    html = $.ajax({
      url: "https://my-secure.net",
      async: false,
      dataType: 'jsonp'
     }).responseText;

//alert(html);       
  alert("myObject is " + html.toSource());
     console.log(html);
但是,没有任何警报,Firebug中也没有任何日志记录。基本上,我希望能够操作JSON数据。我在Firebug下的响应中看到了数据,但是有一个错误,上面写着“无效标签”。我读到为了修复这个问题,你用额外的偏执词将它封装在eval函数中,但这不起作用


我还收到一个错误,它说我的$.ajax请求“未定义”,但我可以在响应中看到数据。我怀疑这与我如何获取初始数据有关。如有任何建议,将不胜感激。谢谢大家!

例如,您可以使用getJSON

$.getJSON('ajax/test.json', function(data) {
  $('.result').html('<p>' + data.foo + '</p>'
    + '<p>' + data.baz[1] + '</p>');
});
$.getJSON('ajax/test.json',函数(数据){
$('.result').html(''+data.foo+'

' +“”+data.baz[1]+”

); });
检查完整的getJSON文档

编辑

我错了。。。使用Jquery.ajax会导致跨浏览器问题,但使用Jquery.getJSON则不会

下面是一个跨域获取JSON的示例

编辑

Firefox有一个HTTPS问题,我知道如果你像这样发送请求,它会被修复

$.getJSON('ajax/test.json',{}, function(data) {
  $('.result').html('<p>' + data.foo + '</p>'
    + '<p>' + data.baz[1] + '</p>');
});
$.getJSON('ajax/test.json',{},函数(数据){
$('.result').html(''+data.foo+'

' +“”+data.baz[1]+”

); });
来源


希望这有帮助

是的,但是您的脚本和请求的URL应该在同一个域中,如果不是,是否没有办法做到这一点?我的控制台和api在两个独立的域中,基本上我看到了数据,我只需要能够正确地解析它谢谢你的帮助,我确实看到了这个示例,我可以从中提取,但是当协议是HTTPS时,响应是empty@ra_htial我读了你的评论“但是你的脚本和请求的URL应该在同一个域中”.那么这是否意味着我们不能通过JSONP发出跨域https请求。