亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AJAX Jquery 調用未返回響應

AJAX Jquery 調用未返回響應

MMMHUHU 2023-07-27 10:35:06
您好,我正在使用 Jquery 對 Flask 服務器運行 AJAX 調用,但運行后它不會返回成功響應消息:os.system("roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/maps/"+mapname+".yaml")這是我提出的請求:$.ajax({     url: '/test',     type: 'POST',     data: new_freq,    success: function(response){        console.log(response);    },    error: function(error){        console.log(error);    }       })燒瓶服務器代碼,    @app.route("/test" , methods=['POST'])    def test():        mapname = request.get_data().decode('utf-8')        os.system("roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/maps/"+mapname+".yaml")           return(mapname)有人知道如何返回 AJAX 成功響應嗎?os.system()編輯:我已經替換了里面的命令ifconfig,mkdir它一切正常并得到了成功響應。該命令roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/maps/mapname.yaml啟動一個節點并且永遠不會用完。那么有沒有辦法即使節點正在運行也可以返回成功響應?
查看完整描述

2 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

我覺得您只想啟動啟動文件,而不是等到它終止。如果是這種情況,那么您需要roslaunch在后臺啟動該命令,即將其與正在運行的 python 進程分離:


import subprocess


@app.route("/test" , methods=['POST'])

def test():

    mapname = request.get_data().decode('utf-8')

    subprocess.Popen(["roslaunch", "turtlebot3_navigation", "turtlebot3_navigation.launch", "map_file:=$HOME/maps/"+mapname+".yaml"])

    return(mapname)


查看完整回答
反對 回復 2023-07-27
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

你的 success 函數位置錯誤,試試這個。


$.ajax({ 

    url: '/test', 

    type: 'POST', 

    data: new_freq

  },

  success: function(response){

    console.log(response);

  },

  error: function(error){

    console.log(error);

  }

    

})


查看完整回答
反對 回復 2023-07-27
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號