ajax jquery简单获取请求

0xS*_*ina 17 javascript ajax jquery

我正在使用jquery ajax进行这个简单的get请求:

$.ajax({
    url: "https://app.asana.com/-/api/0.1/workspaces/",
    type: 'GET',
    success: function(res) {
        console.log(res);
        alert(res);
    }
});
Run Code Online (Sandbox Code Playgroud)

结果它返回一个空字符串.如果我在浏览器中转到此链接,我会得到:

{"status":401,"error":"Not Authorized"}
Run Code Online (Sandbox Code Playgroud)

这是预期的结果.那么为什么不使用ajax呢?谢谢!

Ste*_*tei 13

您可以向从SAME域和SAME端口加载的应用程序发出AJAX请求。

除此之外,dataType JSON如果要自动反序列化结果,则应添加。

$.ajax({
        url: "https://app.asana.com/-/api/0.1/workspaces/",
        type: 'GET',
        dataType: 'json', // added data type
        success: function(res) {
            console.log(res);
            alert(res);
        }
    });
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/jQuery.ajax/


Joa*_*ida 8

在我看来,这是一个跨域问题,因为您不允许向其他域发出请求.

您必须解决此问题: - 使用在您的服务器上运行的代理脚本,它将处理您的请求并处理将其发送到浏览器的响应或者 - 您提出请求的服务应该具有JSONP支持.这是一种跨域技术.您可能需要阅读此http://en.wikipedia.org/wiki/JSONP


use*_*157 5

var dataString = "flag=fetchmediaaudio&id="+id;

$.ajax
({
  type: "POST",
  url: "ajax.php",
  data: dataString,
  success: function(html)
  {
     alert(html);
  }
});
Run Code Online (Sandbox Code Playgroud)

  • POST 和 GET 是不同的 HTTP 方法,请阅读一些有关 HTTP 协议的信息 (3认同)