2016-08-30 4 views
2

Я передаю переменную из одной функции в другую, после чего эта переменная задана в URL для следующего вызова ajax, я думал, что это будет легко но нет.

Вот мой код, я удалил свой dev-ключ с конца вызова.

function Transmission(styleID){ 
 
    $.ajax({ 
 
    \t url: "https://api.edmunds.com/api/vehicle/v2/transmissions/" + styleID + "?fmt=json&api_key=REMOVED",// setting styleID number in URL with passed variable 
 
     //force to handle it as text 
 
     dataType: "text", 
 
     success: function(data) { 
 
\t \t \t var json = $.parseJSON(data); 
 
\t \t \t $('#car_transmission').find("option[text=" + json.transmissionType + "]").attr("selected", true); 
 
\t }}); 
 
}

Это не удается, но если я жестко закодировать styleID он работает просто отлично, все поиски, которые я сделал должны были добавить переменные в конец URL. Любые мысли приветствуются!

Спасибо !!!!!! d

+0

Вы пытались вставить console.log заявления в своем коде, чтобы обеспечить ваш styleID установлен до вашего вызова передачи? – xorspark

+0

Он должен работать. Понятно, что 'styleID' - это то, что должно быть. – sebnukem

+0

yes styleID - это то, чем он должен быть, перед добавлением его в URL-адрес. Существует некоторая проблема JQuery с добавлением переменной непосредственно в URL-адрес, но я не так свободно говорю в jQuery для ее решения. Благодаря! d – Don

ответ

0

ОК, я решил, я использовал неверный URL, то VIN поиск дает StyleID, то StyleID поиск дает transmissionID, я звоню в URL для API передачи, URL-адреса были рядом друг с другом на веб-странице API edmunds.

Так что спасибо всем за помощь!

Мораль этой истории - это попытка не программировать усталость и многозадачность! лол

d

0

как об изменении styleID + "?fmt=json&api_key=REMOVED" к styleID + "?fmt="+json&"api_key="+REMOVED

+0

или, может быть, вы могли бы попытаться изменить a fromat, чтобы передать переменные, используйте данные, а не url, чтобы передать их. Вот демо, измените переменные ur на этот formate: $. ajax ({ метод: "POST", url: "some.php", данные: {имя: "John", местоположение: "Boston"} }) .done (функция (msg) { предупреждение («Данные сохранены:» + msg); }); –

+0

Благодарим вас за быстрый ответ! но все же нет, проблема состоит в том, что + styleID +, который передается, он, похоже, не хочет работать внутри URL-адреса, но работает в другом месте при тестировании с помощью alert (styleID); Один из вариантов - я могу перейти в невидимое поле и прочитать из этого + $ ('# car_style'). Val() + будет работать, но не очень изящно. :( – Don