2016-05-24 5 views
0

こんにちは、EnvatoからjQuery.ajax()を使用して値を取得しようとしていますが、URLパラメータにシステムによって受け入れられないコロンが含まれています。Passing:jquery ajaxコールの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

+0

、構文は私に調子が悪いなります

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()が含まれています。 – Jhecht

+0

Typo: '$ .ajax()'呼び出しに 'settings'オブジェクトを開始するための' {'がありません。終了演算子も順序が違う - 'request.done(...)'の前の '') ''にする必要があります。 –

答えて

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/

+2

くそ、私は構文が間違っていて、URLパラメータ自体に問題があると思っていました。愚かな私:p、あなたのサポートのために多くのみんなありがとう。私のリストでStackoverflowが上昇して、問題のサポートを求めています。これは最高のコミュニティ:) –

0

は、次のようにURLを変更してください:

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

残念ながら、それは動作しませんでした、同じエラーが発生しました。 –

0

私はこの答えは、ほとんど私がmadalinの答えに気づいた時点で終了し、アップタイプされていました。基本的には同じコードですが、私の答えを少し説明しようと思っていますので、私を許してください。

最初のもの:私はあなたが何をしたのかわかりません。あなたの質問にあなたの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>

+0

確かにJhechtは、これらのかっこに関して将来的にはさらに注意しようとします。 –

0

構文エラー、Unexpected token : JSONPは{...}もブロックを表すJavaScriptとして解析されるので、です。あなたは上記のコードの一部をmiscopiedしていない限り

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

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

間違った質問に間違った答え – madalinivascu

関連する問題