jquery AJAX 响应未定义

7jmck4yq  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(110)

我是个程序员新手。我正在尝试在我的前端HTML页面中插入var cPrice。然而,它是未定义的,我不知道为什么。

///////////// Display Pop-up finciton //////////////////
//Start//

$('#button1').on('click', function() {
// Show the popup
$('#openPopup').show();
// Get the symbol and name and show it in the popup
const symbolID = document.getElementById("symbolSearch").value.toUpperCase();
document.getElementById("currentSymbol").innerHTML = symbolID;


$.get("http://localhost:5000/placeOrder", function(err, price) {
    console.log(price.currentPrice);

    var cPrice = price.currentPrice // On the server-side it prints the correct value.

    console.log(cPrice) // However, here the front-end value is undefined.
    if (err) { console.log(err) } else {
        document.getElementById("currPrice").innerHTML = cPrice
    }

});


// Execute the function for retrieving the price
//userAction();

字符串

kx7yvsdv

kx7yvsdv1#

阅读文档:jQuery.get()用于success函数回调:

第一个参数是PlainObject数据

jQuery.get( url [, data ] [, success ] [, dataType ] )

  • fn* 成功**

类型:Function(data,textStatus,jqXHR)
一个回调函数,如果请求成功,则执行该函数。如果提供了dataType,则为必填项,但可以使用null或jQuery.noop作为占位符。
还有一个

弃用通知

jqXHR.success()、jqXHR.error()和jqXHR.complete()回调方法从jQuery3.0起被删除。可以使用jqXHR.done()、jqXHR.fail()和jqXHR.always()。
因此,你最好使用.done().fail()来编写一个更易读的代码:

$.get("http://localhost:5000/placeOrder")
  .done((data) => {
    console.log(data);
    console.log(data.currentPrice);
  })
  .fail((jqXHR, textStatus, errorThrown) => {
    console.log(jqXHR);
  });

字符串

相关问题