传递:在jquery ajax调用的URL参数中

时间:2016-05-24 04:44:04

标签: jquery ajax

您好我正在尝试使用jQuery.ajax()从Envato获取值,URL参数包含系统不接受的冒号。

$('button').click(function(){
    var request=$.ajax(
        url: "https://api.envato.com/v1/market/random-new-files:themeforest.json",
        type: "GET",
        connection: "keep-alive",
        contentType: "application/json",
        mimeType: "application/json ",
        headers: {
            "Authorization": 'Bearer uO5xtTUXgJMyYPKg5fC9NNRGcue42QeD'
        }
    )}
    request.done(function (msg) {
        console.log(msg);
    })    

这是通话,但我按照以下屏幕截图收到错误:http://prntscr.com/b7poyo http://prntscr.com/b7pp1b

4 个答案:

答案 0 :(得分:1)

你有一些sintax错误

尝试以下方法:

   $('button').click(function() {
     var request = $.ajax({
       url: "https://api.envato.com/v1/market/random-new-files:themeforest.json",
       type: "GET",
       connection: "keep-alive",
       contentType: "application/json",
       mimeType: "application/json ",
       headers: {
         "Authorization": 'Bearer uO5xtTUXgJMyYPKg5fC9NNRGcue42QeD'
       },
       success: function(data) {
         console.log(data)
       }
     })
   });

https://jsfiddle.net/2ukdh27r/

答案 1 :(得分:0)

尝试按如下方式更改网址:

url: "https://api.envato.com/v1/market/"+encodeURIComponent("random-new-files:themeforest.json")

答案 2 :(得分:0)

我输入了这个答案,大部分是在我注意到马达林的回答时完成的。它基本上是相同的代码,但请原谅我,因为我想尝试解释一下我的答案。

第一件事:我不知道你做了什么。您的问题中的Javascript只是立即向我发出错误的声音。你有很多缺少的括号和括号。所以,我开始做一个非常基本的ajax调用,例如

$.ajax({
   url: "https://api.envato.com/v1/market/random-new-files:themeforest.json"
 }).always(function(r) {
   console.log(r)
 });

我收到了身份验证错误。我只是复制了.ajax()对象的其余部分,它工作得很好。

下一次课程注意匹配括号和括号。



$('button').click(function() {

  $.ajax({
    url: 'https://api.envato.com/v1/market/random-new-files:themeforest.json',
    type: "GET",
    connection: "keep-alive",
    contentType: "application/json",
    mimeType: "application/json ",
    headers: {
      "Authorization": 'Bearer uO5xtTUXgJMyYPKg5fC9NNRGcue42QeD'
    }
  }).done(function(r) {
    console.log(r);
  });

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

语法错误Unexpected token :是因为JSONP被解析为JavaScript,其中{...}也表示块。

var callback = req.query.callback;
var data = JSON.stringify({
    Name : "Tom",
    Description : "Hello it's me!"
});

if (callback) {
    res.setHeader('Content-Type', 'text/javascript');
    res.end(callback + '(' + data + ')');
} else {
    res.setHeader('Content-Type', 'application/json');
    res.end(data);
}

xpressJS还包括已实现此条件的res.jsonp()

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});