Intereting Posts
Как сортировать флажки по classам, значениям и проверкам При кодировании в HTML, почему загрузка видео на некоторых устройствах Android, а не на других? Как я могу иметь липкий нижний колонтитул с моей маской сетки CSS? Каков самый быстрый способ очистить HTML-страницу в Android? Как я могу повернуть HTML 90 gradleусов? Как нарисовать линию между draggable и droppable? Не удается найти файлы CSS на сервере, когда они там url не подходит, когда я меняю метод формы с «post» на «get», хотите знать, является ли это проблемой html, php или javascript Почему событие изменения jquery не запускается, когда я устанавливаю значение select с помощью val ()? как автоматически обновлять контент без перезагрузки веб-страницы с помощью php / ajax? Отображение Spinner до тех пор, пока Mathjax не будет загружен даже с прямыми привязанными URL Как передать состояние обратно родителям в React? Удаление курсора / указателя текста из целенаправленного ввода только для ввода Как отключить изменяемое свойство textarea?

Вызов jQuery AJAX возвращает

Я работаю над исправлением jQuery на бирже для веб-сайта.

EDIT: обновляет ID / CLASS или входное значение на веб-странице в зависимости от возвращаемого значения.

index.php:

 

   load demo  $(document).ready(function() { $.ajax({ url: '/datacall/demo.json', dataType: 'json', success: function( resp ) { $( '#div' ).val( resp.currency[0].amount ); }, error: function( req, status, err ) { console.log( 'Something went wrong', status, err ); } }); var end = parseInt($('#value').val()); var newend = parseInt($('#div').val()); var result = $( end * newend ); $('#clickme').click(function() { $('#new').val( result ); }); });  

 

В настоящее время он возвращается:

 [object Object] 

Я также попытался вернуть его в div с .text ()

demo.json:

  { "currency" : [ { "name" : "South Africa", "code" : "ZAR", "amount" : 0.14 }, { "name" : "America", "code" : "USD", "amount" : 0.64 }, { "name" : "Europe", "code" : "GBP", "amount" : 1.29 } ] } 

Пожалуйста, может кто-нибудь сказать мне, что я сделал неправильно.

Заранее спасибо!

Вы можете сделать это:

 // Create some global variables var end = parseInt($('#value').val(), 10); var newend = 0; var result = 0; $.ajax({ url: '/datacall/demo.json', dataType: 'json', success: function (resp) { // Check the values in console console.log(resp.currency[0].amount); console.log(resp.d.currency[0].amount); $('#div').val(resp.currency[0].amount); newend = parseInt(resp.currency[0].amount, 10); result = end * newend; // No need to create a new jQuery object using $() // result = $( end * newend ); }, error: function (req, status, err) { console.log('Something went wrong', status, err); } }); $('#clickme').click(function () { $('#new').val(result); }); 

Поэтому основные проблемы здесь:

  • Вам нужно выполнить всю логику result в newend ajax, поскольку ajax является asynchronous и вы всегда получаете пустые значения для переменных end & newend .
  • Нет необходимости делать этот result = $( end * newend ); поскольку он создает новый экземпляр объекта jQuery и, следовательно, вы получаете [object Object]

[object Object] – это в основном массив

Попробуйте этот код:

  success: function( resp ) { //$( '#div' ).val( resp.currency[0].amount ); alert(JSON.stringify(resp)); }, 

Это должно показать вам массив, который даст вам возможность лучше выбирать элементы для вывода

Этот код

 var end = parseInt($('#value').val()); var newend = parseInt($('#div').val()); var result = $( end * newend ); 

оценивается до успеха вызова ajax. его необходимо перенести в блок успеха

Вы вычисляете продукт внутри $()

 var end = parseInt($('#value').val()); var newend = parseInt($('#div').val()); var result = end * newend; // this $(end * newend) is probably what was wrong