2016-05-24 17 views
0

Hallo Ich versuche, Werte von Envato mit jQuery.ajax() zu holen, enthält der URL-Parameter einen Doppelpunkt, der vom System nicht akzeptiert wird.Übergeben: in URL-Parameter für Jquery Ajax Anruf

$('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); 
    })  

Das ist der Ruf, aber ich bin immer Fehler nach folgenden Screenshots: http://prntscr.com/b7poyo http://prntscr.com/b7pp1b

+0

, wenn Sie über einen Teil des Codes miscopied haben, die Syntax aus dem Gleichgewicht geraten zu mir aussieht. – Jhecht

+0

Typo: Der '$ .ajax()' Aufruf fehlt die Öffnung '{' um das 'settings' Objekt zu starten. Die endenden Operatoren sind auch außerhalb der Reihenfolge - sollten '})' in der Zeile vor 'request.done (...)' sein. –

Antwort

1

Sie einige Fehler sintax haben

Versuchen Sie Folgendes:

$('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

Verdammt, ich verpasste die Syntax und dachte, dass es ein Problem mit dem URL-Parameter selbst gab. Dumm ich: P, vielen Dank für Ihre Unterstützung. Stackoverflow steigt auf meiner Liste, um Unterstützung für jedes Problem zu suchen. Dies ist die beste Community :) –

0

Versuchen Sie die URL wie folgt zu ändern:

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

Leider nein, das hat nicht funktioniert, habe den gleichen Fehler. –

0

ich diese Antwort hatte getippt, vor allem durch die Zeit beendete ich madalin Antwort bemerkt. Es ist im Grunde der gleiche Code, aber vergib mir, wie ich versuche, meine Antwort ein wenig zu erklären.

Als erstes zuerst: Ich habe keine Ahnung, was Sie getan haben. Dein Javascript in deiner Frage hat sich mir sofort als falsch herausgestellt. Sie hatten viele fehlende Klammern und Klammern. Also begann ich damit, einfach einen sehr einfachen Ajax-Ruf zu machen, z.B.

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

Ich habe einen Authentifizierungsfehler erhalten. Ich kopierte einfach den Rest Ihres .ajax() Objekts und es funktionierte gut.

Lektion für das nächste Mal Seien Sie vorsichtig mit passenden Klammern und Klammern.

$('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

Sure Jhecht, werde versuchen, in Zukunft in Bezug auf diese Klammern vorsichtiger sein. –

0

der Syntaxfehler, Unexpected token :, ist, weil JSONP wie JavaScript analysiert wird, wo {...} auch Blöcke darstellt.

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 enthält auch res.jsonp(), die bereits diese Bedingung implementiert:

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

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

falsche Antwort auf falsche Frage – madalinivascu