簡體   English   中英

從javascript執行python腳本

[英]execute python script from javascript

我是python的新手。 我正在開發Web應用程序,並嘗試從js腳本調用python腳本。 我正在使用ajax來按如下方式調用.py腳本,但我一直在獲取響應中返回的代碼。 為簡單起見,我減少了python腳本中的計算-甚至變量x都沒有返回到js文件中。

在js函數中

  return $.ajax({
    type: 'GET',
    url: 'test.py',

    success: function(response) {
      console.log(response);
    },
    error: function(response) {
      return console.error(response);
    }
  });

test.py

#!/usr/bin/python

print("Hello World")

x = 2
return x

該請求成功,因為它在成功內部移動。 響應是python代碼而不是2。感謝您的幫助!

您必須使用所謂的應用程序服務器來使用Python服務HTTP請求。 看這一個或嘗試使用一些輕量級的Web框架,比如

Flask中最簡單的Web應用程序將如下所示(例如,將其放入app.py文件中):

from flask import Flask
app = Flask(__name__)

@app.route("/test.py")  # consider to use more elegant URL in your JS
def get_x():
    x = 2
    return x

if __name__ == "__main__":
    # here is starting of the development HTTP server
    app.run()

然后,您必須通過執行以下操作來啟動服務器:

python app.py

默認情況下,它將從localhost:3000開始。 因此,您必須將JS代碼中的url更改為http://localhost:3000/test.py

UPD:還請注意,列出的Web服務器尚未投入生產。 要構建可用於生產環境的配置,您可以使用uWSGI + nginx綁定之類的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM