服务器和客户端应该为跨源资源共享设置什么?

时间:2017-01-14 06:49:48

标签: javascript ajax http-headers cors cross-domain

在我的服务器端,当客户端请求json数据时,我返回以下标题:

  Content-Type: text/html
  Access-Control-Allow-Origin: *
  Keep-Alive: timeout=2, max=100
  Connection: keep-alive

并在客户端尝试获取json URL

有以下ajax调用:

$(window).load(function(){
   setTimeout(function() {
   jQuery.support.cors = true;
   $.ajax({
      url: 'http://example.com:8045/json',
      data: {
         format: 'json'
      },
      error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + ': ' + errorThrown);
},
      dataType: 'jsonp',
      crossDomain: true,
      success: function(data) {
        $('#info').html(data.arduino[1].celsius);

      },
      xhrFields: {
        withCredentials: true
    },
      type: 'GET'
   });
}, 1000);
});

但仍然不是客户端我在控制台中收到以下错误:

  

[已屏蔽] https://example.000webhostapp.com/ajaxCall.html处的页面   不允许从中运行不安全的内容   http://example.com:8045/json?callback=jQuery1110044636917442808566_1484375877404&format=json&_=1484375877405

当我使用jsonp数据类型时,从服务器检索ajax的{​​{1}}调用包含回调json

这是什么意思?这是否意味着如果服务器收到此回调,服务器应该向客户端返回请求jQuery1110044636917442808566_1484375877404&format=json&_=1484375877405数据的内容?

0 个答案:

没有答案