Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

Tôi đang gặp vấn đề với dữ liệu phản hồi. Tôi muốn sử dụng dữ liệu phản hồi trong tệp PHP của mình. Tôi muốn gán chúng cho một biến PHP.

Đây là mã Ajax trong tệp chèn.php.

function change(){
    var tp=$('#choose').val();
    var country_val=$('#country_filter').val();
    //alert(country_val);
    //var country_val=$('#country_filter').val();
        $.ajax({
            type: "POST",
            url: "filter.php",
            data: { name: tp, country:"test"},

        success:function( data ) {
          alert(data);
            }

        });
     }

Đây là mã PHP trong bộ lọc.php

if($_REQUEST["name"]){
 $lvl = $_REQUEST["name"];
 //global $lvl;
echo $lvl;
}

Bây giờ tôi muốn sử dụng dữ liệu phản hồi để được gán cho biến PHP trong tệp chèn.php. Làm thế nào tôi có thể làm điều đó? Xin vui lòng giúp đỡ.

Đã hỏi ngày 26 tháng 9 năm 2013 lúc 12:20Sep 26, 2013 at 12:20

Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

2

Gửi dữ liệu đến tệp chèn.php bằng AJAX, thay vì cảnh báo nó.

thay đổi chức năng thành công thành

$.ajax({
 type: "POST",
 url: "filter.php",
 data: { name: tp, country:"test"},


  success:function(response) {
    var res = response;
    $.ajax({
        type: "POST",
        url: "insert.php",
        data: { res: res },

    success:function(data){
      alert(data);
      }
   });
});

Trong chèn.php,

Sử dụng điều này để có được biến.

$var = $_POST['res'];

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

Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

Optimus PrimeOptimus PrimeOptimus Prime

6.7185 Huy hiệu vàng31 Huy hiệu bạc60 Huy hiệu Đồng5 gold badges31 silver badges60 bronze badges

1

Nếu Insert.php gọi Filter.php với AJAX và sau đó trả về một giá trị. Bạn không thể áp dụng JavaScript var đó cho một Php var trong chèn.php. Đó là do tập lệnh PHP chạy trên máy chủ khi trang được tải và JavaScript chạy cục bộ trên máy tính người dùng. Để áp dụng bất cứ điều gì cho biến PHP, bạn sẽ phải tải lại trang.

Đã trả lời ngày 26 tháng 9 năm 2013 lúc 12:29Sep 26, 2013 at 12:29

Hôm nay, chúng tôi sẽ khám phá khái niệm AJAX với PHP và JavaScript. Ajax & nbsp; Kỹ thuật giúp bạn cải thiện giao diện người dùng của ứng dụng và nâng cao trải nghiệm người dùng cuối.

Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

Ajax là gì?

AJAX là viết tắt của JavaScript và XML không đồng bộ và nó cho phép bạn tìm nạp nội dung từ máy chủ back-end không đồng bộ, mà không cần làm mới trang. Do đó, nó cho phép bạn cập nhật nội dung của một trang web mà không tải lại nó.

Hãy cùng xem xét một ví dụ để hiểu làm thế nào bạn có thể sử dụng AJAX trong phát triển ứng dụng hàng ngày của bạn. Giả sử bạn muốn xây dựng một trang hiển thị thông tin hồ sơ của người dùng, với & nbsp; các phần khác nhau như thông tin cá nhân, thông tin xã hội, thông báo, tin nhắn, v.v.

Cách tiếp cận thông thường sẽ là xây dựng các trang web khác nhau cho mỗi phần. Vì vậy, ví dụ, người dùng sẽ nhấp vào liên kết thông tin xã hội để tải lại trình duyệt và hiển thị một trang với & nbsp; thông tin xã hội. Điều này làm cho nó chậm hơn để điều hướng giữa các phần, vì người dùng phải chờ trình duyệt tải lại và trang để hiển thị lại mỗi lần.

Mặt khác, bạn cũng có thể sử dụng Ajax để xây dựng một giao diện tải tất cả thông tin mà không làm mới trang. Trong trường hợp này, bạn có thể hiển thị các tab khác nhau cho tất cả các phần và bằng cách nhấp vào tab, nó tìm thấy nội dung tương ứng từ máy chủ back-end và cập nhật trang mà không cần làm mới trình duyệt. Điều này & nbsp; giúp bạn cải thiện trải nghiệm người dùng cuối tổng thể.

Cuộc gọi tổng thể AJAX hoạt động như thế này:

Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php
Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php
Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

Hãy để nhanh chóng đi qua luồng Ajax thông thường:

  1. Đầu tiên, người dùng mở một trang web như bình thường với yêu cầu đồng bộ A & nbsp;
  2. Tiếp theo, người dùng nhấp vào phần tử DOM thông thường là một nút hoặc liên kết mà bắt đầu yêu cầu không đồng bộ đến máy chủ back-end. Người dùng cuối đã giành được thông báo này vì cuộc gọi được thực hiện không đồng bộ và không làm mới trình duyệt. Tuy nhiên, bạn có thể phát hiện ra các cuộc gọi AJAX này bằng một công cụ như FireBug.
  3. Để đáp ứng yêu cầu AJAX, máy chủ có thể trả về dữ liệu chuỗi XML, JSON hoặc HTML.
  4. Dữ liệu phản hồi được phân tích cú pháp bằng JavaScript.
  5. Cuối cùng, dữ liệu phân tích đã được cập nhật trong trang web & nbsp; dom.

Vì vậy, như bạn có thể thấy, trang web được cập nhật với dữ liệu thời gian thực từ máy chủ mà không tải lại trình duyệt.

Trong phần tiếp theo, chúng tôi sẽ làm thế nào để triển khai Ajax bằng Vanilla JavaScript.

Cách hoạt động của Ajax bằng Vanilla JavaScript

Trong phần này, chúng tôi sẽ thấy Ajax hoạt động như thế nào trong Vanilla JavaScript. Tất nhiên, có những thư viện JavaScript có sẵn giúp thực hiện các cuộc gọi Ajax dễ dàng hơn, nhưng nó luôn luôn thú vị khi biết những gì xảy ra dưới mui xe.

Hãy cùng xem mã JavaScript Vanilla sau đây, thực hiện cuộc gọi AJAX và nhận được phản hồi từ máy chủ một cách không đồng bộ.

Hãy cùng đi qua mã trên để hiểu những gì xảy ra sau hậu trường.

  1. Đầu tiên, chúng tôi khởi tạo & nbsp; ________ 10 & nbsp; đối tượng, chịu trách nhiệm thực hiện các cuộc gọi Ajax.
  2. Đối tượng & nbsp; Nó có thể chứa một trong bốn giá trị: & nbsp; ____ 13, & nbsp; ____ 14, & nbsp; ________ 15, và & nbsp; ________ 16.
  3. Chúng ta có thể thiết lập chức năng người nghe cho các thay đổi trạng thái bằng cách sử dụng thuộc tính & nbsp; ________ 17 & nbsp; Và đó là những gì chúng tôi đã thực hiện trong ví dụ trên: Chúng tôi đã sử dụng một hàm sẽ được gọi là mỗi khi tài sản trạng thái được thay đổi.
  4. Trong chức năng đó, chúng tôi đã kiểm tra xem & NBSP; Tiếp theo, chúng tôi đã kiểm tra xem mã trạng thái bằng & nbsp; ____ 20, điều đó có nghĩa là yêu cầu đã thành công. Cuối cùng, chúng tôi tìm nạp phản ứng được lưu trữ trong & nbsp; ________ 21 & nbsp; thuộc tính của & nbsp; ________ 10 & nbsp; object.
  5. Sau khi thiết lập trình nghe, chúng tôi bắt đầu yêu cầu bằng cách gọi & nbsp; & Nbsp; ________ 12 & nbsp; giá trị thuộc tính sẽ được đặt thành 1 sau cuộc gọi này.
  6. Cuối cùng, chúng tôi đã gọi & nbsp; ____ ____ 26 & nbsp; đối tượng của & nbsp; ________ 10 & nbsp;, thực sự gửi yêu cầu đến máy chủ. & Nbsp; ________ 12 & nbsp; giá trị thuộc tính sẽ được đặt thành 2 sau cuộc gọi này.
  7. Khi máy chủ phản hồi, cuối cùng nó sẽ đặt & nbsp; ________ 12 & nbsp; giá trị thành 4 và bạn sẽ thấy một hộp cảnh báo hiển thị phản hồi từ máy chủ.

Vì vậy, cách mà Ajax làm việc với Vanilla JavaScript. Phương pháp ở đây, sử dụng "các chức năng gọi lại" là cách truyền thống để mã hóa Ajax, nhưng một cách sạch hơn và hiện đại hơn là với những lời hứa.

Trong phần tiếp theo, chúng ta sẽ xem cách sử dụng đối tượng & nbsp; ____ 30 & nbsp; cho ajax.

Cách sử dụng lời hứa JavaScript cho Ajax

Lời hứa trong JavaScript cung cấp một cách tốt hơn để quản lý các hoạt động không đồng bộ và các cuộc gọi lại phụ thuộc vào các cuộc gọi lại khác. Trong JavaScript, & nbsp; ________ 30 & nbsp; là một đối tượng có thể có một trong ba trạng thái: đang chờ xử lý, giải quyết hoặc bị từ chối. Ban đầu, đối tượng & NBSP;

Hãy nhanh chóng sửa đổi ví dụ trước với & nbsp; ____ ____ 30 & nbsp; đối tượng.

function AjaxCallWithPromise() {
    return new Promise(function (resolve, reject) {
        const objXMLHttpRequest = new XMLHttpRequest();

        objXMLHttpRequest.onreadystatechange = function () {
            if (objXMLHttpRequest.readyState === 4) {
                if (objXMLHttpRequest.status == 200) {
                    resolve(objXMLHttpRequest.responseText);
                } else {
                    reject('Error Code: ' +  objXMLHttpRequest.status + ' Error Message: ' + objXMLHttpRequest.statusText);
                }
            }
        }

        objXMLHttpRequest.open('GET', 'request_ajax_data.php');
        objXMLHttpRequest.send();
    });
}

AjaxCallWithPromise().then(
    data => { console.log('Success Response: ' + data) },
    error => { console.log(error) }
);

Khi chức năng & nbsp; ____ 34 & nbsp; nó được gọi, nó sẽ trả về đối tượng Promise và ban đầu nó ở trạng thái đang chờ xử lý. Dựa trên phản hồi, nó sẽ gọi & nbsp; ________ 35 & nbsp; hoặc & nbsp; ________ 36 & nbsp; function. & Nbsp;

Tiếp theo, chúng tôi sử dụng phương thức & nbsp; Phương thức & nbsp; ________ 37 & nbsp; có hai đối số. Đối số đầu tiên là một cuộc gọi lại sẽ được thực hiện khi lời hứa được giải quyết và đối số thứ hai là một cuộc gọi lại cho trạng thái bị từ chối.

Vì vậy, đó là cách bạn có thể sử dụng lời hứa của JavaScript cho AJAX. Trong phần tiếp theo, chúng tôi sẽ thấy cách sử dụng thư viện jQuery để thực hiện các cuộc gọi AJAX.

Cách hoạt động của Ajax bằng thư viện jQuery

Trong phần trước, chúng tôi đã thảo luận về cách bạn có thể thực hiện các cuộc gọi AJAX bằng Vanilla JavaScript. Trong phần này, chúng tôi sẽ sử dụng thư viện jQuery để chứng minh điều này. Tôi sẽ cho rằng bạn nhận thức được những điều cơ bản của thư viện jQuery.

Thư viện JQuery cung cấp một vài phương thức khác nhau để thực hiện các cuộc gọi AJAX, mặc dù ở đây chúng tôi sẽ xem xét phương thức Standard & nbsp; ________ 39 & nbsp;, thường được sử dụng nhất.

Hãy xem ví dụ sau.

Như bạn đã biết, dấu hiệu & nbsp;

Tham số đầu tiên của phương thức & nbsp; ____ 39 & nbsp; là URL sẽ được gọi trong nền để tìm nạp nội dung từ phía máy chủ. Tham số thứ hai ở định dạng JSON và cho phép bạn & nbsp; chỉ định các giá trị cho một số tùy chọn khác nhau được hỗ trợ bởi & nbsp; ________ 39 & nbsp; phương thức.

Trong hầu hết các trường hợp, bạn sẽ & nbsp; cần chỉ định các cuộc gọi lại thành công và lỗi. Cuộc gọi lại thành công sẽ được gọi sau khi hoàn thành cuộc gọi AJAX thành công. Phản hồi được trả lại bởi máy chủ sẽ được chuyển cho cuộc gọi lại thành công. Mặt khác, cuộc gọi lại thất bại sẽ được gọi nếu có sự cố và có một vấn đề thực hiện cuộc gọi Ajax.

Vì vậy, như bạn có thể thấy, thật dễ dàng để thực hiện các hoạt động AJAX bằng thư viện jQuery. Trên thực tế, quá trình này ít nhiều giống nhau, không phân biệt thư viện JavaScript mà & nbsp; bạn chọn thực hiện các cuộc gọi AJAX.

Trong phần tiếp theo, chúng tôi sẽ thấy một ví dụ trong thế giới thực để hiểu cách thức này hoạt động với PHP.

Một ví dụ Ajax trong thế giới thực với PHP

Trong phần này, chúng tôi sẽ xây dựng một ví dụ lấy nội dung JSON từ tệp PHP ở phía máy chủ bằng AJAX.

Đối với mục đích trình diễn, chúng tôi sẽ xây dựng một ví dụ thực hiện đăng nhập người dùng bằng AJAX và JQuery. Để bắt đầu, hãy tạo tệp & nbsp; index.php & nbsp;, như được hiển thị trong đoạn sau, hiển thị một biểu mẫu đăng nhập cơ bản.index.php file, as shown in the following snippet, which renders a basic login form.







Username: Password:

Tệp & nbsp; index.php & nbsp; là một biểu mẫu HTML khá tiêu chuẩn có chứa các trường tên người dùng và mật khẩu. Nó cũng chứa đoạn trích JavaScript của A & NBSP;, theo phác thảo mà chúng tôi đã thấy ở trên.index.php file is a pretty standard HTML form which contains username and password fields. It also contains a jQuery JavaScript snippet, which follows the outline we saw above.

Chúng tôi đã sử dụng & nbsp; ________ 43 & nbsp; sự kiện của phần tử biểu mẫu, sẽ được kích hoạt khi người dùng nhấp vào nút gửi. Trong bộ xử lý sự kiện đó, chúng tôi đã bắt đầu cuộc gọi AJAX, gửi dữ liệu biểu mẫu lên tệp & nbsp; login.php & nbsp; sử dụng phương thức POST không đồng bộ. Khi chúng tôi nhận được phản hồi từ máy chủ, chúng tôi phân tích nó bằng phương thức & nbsp; Và cuối cùng, dựa trên sự thành công hay thất bại, chúng tôi có hành động thích hợp.login.php file using the POST method asynchronously. Once we receive a response from the server, we parse it using the 

4 method of the 
5 object. And finally, based on the success or failure, we take the appropriate action.

Ngoài ra, hãy & nbsp; xem cái gì & nbsp; login.php & nbsp; trông giống như.login.php looks like.

 1));
} else {
    echo json_encode(array('success' => 0));
}

Tệp & nbsp; login.php & nbsp; chứa & nbsp; logic của người dùng xác thực và trả về phản hồi A & nbsp; JSON dựa trên sự thành công hoặc thất bại của đăng nhập.login.php file contains the logic of authenticating users and returns a JSON response based on the success or failure of login.

Sử dụng lời hứa cho Ajax với JQuery

Ngoài ra, & nbsp; ____ 46 & nbsp; Phương thức cũng hỗ trợ các lời hứa của JavaScript. Nó cung cấp các phương pháp khác nhau như & nbsp; ________ 37, & nbsp;

Hãy nhanh chóng sửa đổi đoạn trích jQuery mà chúng tôi đã sử dụng trong ví dụ của mình để chỉ ra cách sử dụng nó với phương thức & nbsp; ____ 37 & nbsp;

...
...
$.ajax({
    type: "POST",
    url: 'login.php',
    data: $(this).serialize()
}).then(
    // resolve/success callback
    function(response)
    {
        var jsonData = JSON.parse(response);

        // user is logged in successfully in the back-end
        // let's redirect
        if (jsonData.success == "1")
        {
            location.href = 'my_profile.php';
        }
        else
        {
            alert('Invalid Credentials!');
        }
    },
    // reject/failure callback
    function()
    {
        alert('There was some error!');
    }
);
...
...

Sự kết luận

Trong hướng dẫn này, chúng tôi đã thảo luận về những điều cơ bản của AJAX và cách nó hoạt động với một ứng dụng PHP. Trong nửa đầu của bài viết, chúng tôi đã xem xét cách Ajax hoạt động trong Vanilla JS và trong Thư viện JQuery. Trong nửa sau, chúng tôi đã xây dựng một ví dụ trong thế giới thực đã chứng minh cách bạn có thể sử dụng Ajax để tìm nạp nội dung PHP phía máy chủ

Tìm hiểu PHP với một khóa học trực tuyến miễn phí

Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP!

Trong khóa học này, bạn sẽ tìm hiểu các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những điều cơ bản, tìm hiểu cách PHP hoạt động và viết các vòng và chức năng PHP đơn giản. Sau đó, bạn sẽ xây dựng thành các lớp mã hóa cho lập trình hướng đối tượng đơn giản (OOP). Trên đường đi, bạn sẽ tìm hiểu tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web: bạn sẽ có cơ hội thực hành trả lời để nhận và đăng yêu cầu, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL.

Bạn cũng có thể tìm hiểu JavaScript miễn phí trên Envato Tuts+! & NBSP; JavaScript là ngôn ngữ của web. Nếu bạn muốn mã cho web, bạn cần biết JavaScript từ trong ra ngoài. Từ những khởi đầu khiêm tốn, JavaScript đã phát triển thành một ngôn ngữ mạnh mẽ và phức tạp với các tính năng như lớp học, lời hứa, chức năng mũi tên, máy phát điện, mẫu chuỗi và nhiều loại khác.

Trong khóa học này, bạn sẽ tìm hiểu tất cả các khái niệm thiết yếu của ngôn ngữ JavaScript. Đúng vậy: tất cả chúng!

Bạn có thấy bài đăng này hữu ích?

Hướng dẫn how to use ajax response in php - cách sử dụng phản hồi ajax trong php

Kỹ sư phần mềm, FSPL, Ấn Độ

Tôi là một kỹ sư phần mềm chuyên nghiệp, và tôi đã thực hiện kỹ thuật khoa học máy tính. Đã khoảng 14 năm tôi đã làm việc trong lĩnh vực phát triển trang web và công nghệ nguồn mở. Chủ yếu, tôi làm việc trên các dự án và khung dựa trên PHP và MySQL. Trong số đó, tôi đã làm việc trên các khung web như Codeignitor, Symfony và Laravel. Ngoài ra, tôi cũng có cơ hội làm việc trên các hệ thống CMS khác nhau như Joomla, Drupal và WordPress và các hệ thống thương mại điện tử như Magento, Opencart, WooC Commerce và Drupal Commerce. Tôi cũng muốn tham dự các hội nghị công nghệ cộng đồng, và là một phần của điều đó, tôi đã tham dự Hội nghị Thế giới Joomla 2016 được tổ chức tại Bangalore (Ấn Độ) và 2018 Drupalcon được tổ chức tại Mumbai (Ấn Độ). Ngoài ra, tôi thích đi du lịch, khám phá những địa điểm mới và nghe nhạc!

Làm thế nào tôi có thể nhận được phản hồi từ cuộc gọi Ajax?

Ajax - Phản hồi của máy chủ..
Tài sản OnReadyStateChange. Thuộc tính ReadyState giữ trạng thái của XMLHTTPrequest. ....
Sử dụng chức năng gọi lại. Hàm gọi lại là một hàm được truyền dưới dạng tham số cho một hàm khác. ....
Thuộc tính respessXML. ....
Phương thức GetAllResponseHeaders (). ....
Phương thức getResponseHeader () ..

AJAX hoạt động như thế nào với PHP?

AJAX cho phép các trang web được cập nhật không đồng bộ bằng cách trao đổi một lượng nhỏ dữ liệu với máy chủ phía sau hậu trường. Điều này có nghĩa là có thể cập nhật các phần của trang web, mà không tải lại toàn bộ trang. Các trang web cổ điển, (không sử dụng AJAX) phải tải lại toàn bộ trang nếu nội dung sẽ thay đổi.allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page. Classic web pages, (which do not use AJAX) must reload the entire page if the content should change.

Làm thế nào tôi có thể nhận được dữ liệu cụ thể từ phản hồi AJAX?

Bạn không thể không đồng bộ.Nếu bạn muốn làm bất cứ điều gì với nó, bạn cần phải làm điều đó trong một cuộc gọi lại.Làm sao?Bởi vì nó không đồng bộ, JavaScript sẽ thoát khỏi yêu cầu AJAX, sau đó ngay lập tức chuyển sang thực thi bit mã tiếp theo và có thể sẽ làm như vậy trước khi nhận được phản hồi AJAX.you need to do it in a callback. How? Because it's asynchronous, javascript will fire off the ajax request, then immediately move on to execute the next bit of code, and will probably do so before the ajax response has been received.

Yêu cầu và phản hồi của AJAX là gì?

Chi tiết hơn.Ajax ajax này.Phản hồi là đối tượng được truyền dưới dạng đối số đầu tiên của tất cả các cuộc gọi lại yêu cầu AJAX.Đây là một trình bao bọc xung quanh đối tượng XMLHTTPrequest gốc.Nó bình thường hóa các vấn đề về trình duyệt chéo trong khi thêm hỗ trợ cho JSON thông qua các thuộc tính ANSWARDJSON và HeaderJson.Response is the object passed as the first argument of all Ajax requests callbacks. This is a wrapper around the native xmlHttpRequest object. It normalizes cross-browser issues while adding support for JSON via the responseJSON and headerJSON properties.