Hướng dẫn how to call python script from jquery - cách gọi tập lệnh python từ jquery

-1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Ai đó có thể vui lòng đưa ra một ví dụ về mã ngắn về cách gọi tập lệnh Python từ JavaScript bằng cách sử dụng jQuery và phân tích kết quả, đó là một python dict? Dưới những gì tôi có cho đến bây giờ, nhưng không hoạt động.

Mã Python [script.py]:

def pythonFuntion[]:
dict = {"val1":"this is x", "val2":True}
return json.dumps[dict]

PHP trung gian [trung gian.php]:


Javascript:

  
  
   $.ajax[{
    url: 'intermediate.php',
    type: 'POST',
    dataType: "json",
    success: function[data]{
         alert[obj.val1];
    }
   }];
  

Đã hỏi ngày 25 tháng 3 năm 2013 lúc 8:54Mar 25, 2013 at 8:54

19

PHP của bạn trông ổn. Vấn đề có thể nằm trong mã JavaScript của bạn. Biến OBJ của bạn không được xác định. Bạn phải cảnh báo dữ liệu.val1 thay vì obj.val1.


  
   $.ajax[{
    url: 'intermediate.php',
    type: 'POST',
    dataType: "json",
    success: function[data]{
         alert[data.val1];
    }
   }];
  

Đã trả lời ngày 25 tháng 3 năm 2013 lúc 9:00Mar 25, 2013 at 9:00

Thay đổi tệp Python thành điều này:

import json
def pythonFuntion[]:
    dict = {"val1":"this is x", "val2":True};
    return json.dumps[dict];
print[ pythonFuntion[] ];

Sau đó, trong PHP; dùng cái này:


Và jQuery của bạn sẽ hoạt động. [Chỉ cần kiểm tra nó trên hệ thống của tôi].

Đã trả lời ngày 25 tháng 3 năm 2013 lúc 9:27Mar 25, 2013 at 9:27

hjpotter92hjpotter92hjpotter92

76.4K34 Huy hiệu vàng138 Huy hiệu bạc176 Huy hiệu đồng34 gold badges138 silver badges176 bronze badges

Có thể đó là chức năng thành công là gì sai, thay đổi OBJ thành dữ liệu:

success: function[data]{
     alert[data.val1];
}

Đã trả lời ngày 25 tháng 3 năm 2013 lúc 9:01Mar 25, 2013 at 9:01

Bạn không thể


1 một mảng trong PHP, nó chỉ in "mảng" [như bạn nhận thấy]. Bạn cần một cái gì đó như thế này để in từng dòng được lưu trữ trong mảng:

exec["python script.py", $output];
echo implode[ "\n", $output ];

Ngoài ra, như được thiết lập trong các bình luận, tập lệnh Python thực sự phải xuất hiện những gì bạn muốn chuyển sang PHP để


2 có thể thu thập nó. Bạn không thể sử dụng

3 để truyền dữ liệu từ Python sang PHP.

Đã trả lời ngày 25 tháng 3 năm 2013 lúc 9:12Mar 25, 2013 at 9:12

JjjjjjJJJ

32.5K20 Huy hiệu vàng88 Huy hiệu bạc102 Huy hiệu Đồng20 gold badges88 silver badges102 bronze badges

Xin chào, ngay bây giờ tệp jquery của tôi bao gồm điều này:

$[document].ready[function[] {
	$['#execute'].click[function[] {
		alert["executed"];
	}];
}];

Về cơ bản, nó tương tác với trang HTML của tôi. Khi một nút được nhấp, nó tạo ra một cảnh báo. Tuy nhiên, tôi muốn nó thực thi tập lệnh Python khi nút đó được nhấp [thay vì cảnh báo].

Điều này có thể?

Thanks.

Thời gian đọc ước tính: 3 phút3 minutes

Bạn đang phát triển một trang web và tìm cách thực hiện một số tập lệnh Python trực tiếp từ trang web?

Ở đây chúng tôi đưa bạn qua cách để đạt được điều này bằng bình Python, các kịch bản chúng tôi chứng minh như sau:

  1. JavaScript On Load Event - Thực thi tập lệnh Python
  2. JavaScript trên sự kiện nhấp chuột - Thực hiện tập lệnh Python

Trong cả hai kịch bản trên, bạn sẽ được trình bày với các hộp bật lên như bên dưới, nhưng mã Python có thể được thay đổi thành bất cứ điều gì bạn thích.

Hộp thông báo tải trang trên nút Nhấn, gọi tập lệnh Python để tải hộp thông báo
On button press, calls the python script to load a message box

Mã bạn sẽ cần để chạy cái này được chia thành hai. [A] logic index.html và [b] logic app.py

Mã cho trang Index.html

Đây là trang mà người dùng được trình bày. Như bạn có thể thấy logic có hai phần JavaScript khi chạy, hãy chuyển sang mã Python và chạy một số logic mà nó muốn trang web chạy.

Trong trường hợp này, tập lệnh app.py python giữ các lệnh cần được thực thi.

Lưu ý sự kiện tải trang đi đến tuyến đường trong app.py, cụ thể là @ @app.route [‘/xông]

Trong khi sự kiện nhấp vào nút được trỏ trực tiếp vào tại@@app.route [‘/test,] - về cơ bản điều này sẽ không chạy cho đến khi JavaScript yêu cầu, trên nút Nhấp vào sự kiện.




    
    Sample Home Page




Run my Python!



    function myfunction_onload[]{
        $.ajax[{
            url: "app.py",
             context: document.body
            }]
        }
    


    function myfunction_clickevent[]{
        $.ajax[{
            url:"/test",
            context: document.body}];}




cách chạy Python trực tiếp từ JavaScript

Mã cho tập lệnh python app.py

Ở đây chúng tôi đang liên kết với trang index.html và nhận các lệnh từ nó và thực hiện các yêu cầu đó.

Trong kịch bản này, các hộp tin nhắn được hiển thị bằng cách sử dụng gói Win32API.

Ứng dụng đang sử dụng gói Flask để chạy trang web.

Điều mạnh mẽ ở đây là bạn có thể bắt đầu tùy chỉnh logic này để làm những gì bạn thích, các ví dụ bao gồm:

[A] Trả lại đồ thị cho trang web.

[B] Xử lý dữ liệu nhận được và trả về số liệu thống kê trên dữ liệu.

[C] Xác nhận dữ liệu nhận được trong Python và trả về phản hồi. Một ví dụ ở đây có thể là người dùng đăng nhập vào cơ sở dữ liệu.


0

Chúng ta có thể gọi kịch bản Python từ JavaScript không?

Pyscript cho phép bạn chạy các tập lệnh Python ngay trong trình duyệt, cạnh nhau với JavaScript, với tương tác hai chiều giữa mã của bạn và trang web., with two-way interaction between your code and the web page.

JQuery có thể được sử dụng với Python không?

Mục tiêu của jQuery.pyproxy là giúp tích hợp các cuộc gọi AJAX với jQuery trong các trang web chạy bằng Python.Ý tưởng chính là sử dụng cú pháp jQuery bên trong cuộc gọi Python của bạn để cập nhật trang mà người dùng đang thấy.Bằng cách này, bạn không phải trả lại dữ liệu phức tạp cho máy khách JavaScript sẽ phải giải mã chúng. pyproxy is to help integration of Ajax calls with JQuery in Python powered sites. The main idea is to use jquery syntax inside your Python call to update the page the users are seeing. This way, you do not have to return complex data to the Javascript client that will have to decrypt them.

Làm thế nào để bạn chạy mã python trên một trang web?

Bạn có thể hiển thị bất kỳ nội dung nào và hoạt động với các trang động hoặc tĩnh bằng Python ...
Khởi chạy Trình chỉnh sửa Python của bạn và mở tệp mã nguồn bạn muốn sử dụng để in thông tin vào trang web ..
Thêm thư viện "CGITB" vào đầu tệp.....
Đặt các tiêu đề "loại nội dung".....
Hiển thị một đoạn mã HTML ..

Làm cách nào để gọi tệp python từ ajax?

ajax [{type: 'post', url: "scripts/sample.py", data: {param: xyz}, // chuyển một số đầu vào ở đây DataType: "text", thành công: function [phản hồi] {output = phản hồi;cảnh báo [đầu ra];}}].đã thực hiện [hàm [dữ liệu] {console. log [data]; alert [dữ liệu];}];

Bài Viết Liên Quan

Chủ Đề