gpt4 book ai didi

javascript - jQuery AJAX 调用返回 [object Object]

转载 作者:太空狗 更新时间:2023-10-29 13:33:00 26 4
gpt4 key购买 nike

我正在为一个网站修复 Stock Exchange jQuery。

编辑:它根据返回值更新网页上的 ID/CLASS 或输入值。

索引.php:

<!doctype html>

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<meta charset="utf-8">
<title>load demo</title>
<script type="text/javascript">
$(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 );
});
});
</script>

<div>

<input type="hidden" value="2500" id="value" />

<input type="hidden" value="" id="div">

<input type="text" id="new" value="" readonly/>

<input type="button" value="Change" id="clickme" />

</div>

目前正在返回:

[object Object]

我也试过用 .text() 将它返回到一个 div

演示.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 ajax 成功回调中的逻辑,因为 ajax 是 asynchronous你总是得到 end 的空值& newend变量。
  • 不需要这样做result = $( end * newend );因为它创建了一个新的 jQuery 对象实例,因此你得到了 [object Object]

关于javascript - jQuery AJAX 调用返回 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19584222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com