Biến toàn cầu PHP không cập nhật

Các biến được tạo bên ngoài hàm [như trong tất cả các ví dụ ở trên] được gọi là biến toàn cục

Mọi người đều có thể sử dụng biến toàn cục, cả bên trong và bên ngoài hàm

Thí dụ

Tạo một biến bên ngoài một hàm và sử dụng nó bên trong hàm

x = "tuyệt vời"

def myfunc[]
print["Trăn là " + x]

myfunc[]

Tự mình thử »

Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cục có cùng tên sẽ vẫn như cũ, toàn cầu và với giá trị ban đầu

Thí dụ

Tạo một biến bên trong một hàm, có cùng tên với biến toàn cục

x = "tuyệt vời"

def myfunc[]
x = "tuyệt vời"
print["Trăn là " + x]

myfunc[]

print["Trăn là " + x]

Tự mình thử »

Từ khóa toàn cầu

Thông thường, khi bạn tạo một biến bên trong một hàm, biến đó là cục bộ và chỉ có thể được sử dụng bên trong hàm đó

Để tạo một biến toàn cục bên trong một hàm, bạn có thể sử dụng từ khóa global

Thí dụ

Nếu bạn sử dụng từ khóa global, biến thuộc phạm vi toàn cầu

def myfunc[]
toàn cầu x
x = "tuyệt vời"

myfunc[]

print["Trăn là " + x]

Tự mình thử »

Ngoài ra, hãy sử dụng từ khóa global nếu bạn muốn thay đổi một biến toàn cục bên trong một hàm

Thí dụ

Để thay đổi giá trị của một biến toàn cục bên trong một hàm, hãy tham chiếu đến biến đó bằng cách sử dụng từ khóa global

Bạn không cần jQuery để thực hiện yêu cầu http. Thay vào đó, hãy sử dụng api tìm nạp trình duyệt hiện đại độc quyền. Bạn cần đợi để sử dụng biến đó cho đến khi yêu cầu http quay lại. Bạn có thể làm điều đó bằng cách sử dụng sự chờ đợi với tìm nạp để dừng và dừng javascript cho đến khi nhận được yêu cầu không đồng bộ

nhà phát triển. mozilla. tổ chức

API tìm nạp - API web. MDN

Fetch API cung cấp giao diện để tìm nạp tài nguyên [bao gồm cả trên mạng]. Nó có vẻ quen thuộc với bất kỳ ai đã sử dụng XMLHttpRequest, nhưng API mới cung cấp một bộ tính năng linh hoạt và mạnh mẽ hơn

nhà phát triển. mozilla. tổ chức

chờ đợi - JavaScript. MDN

Các toán tử chờ đợi được sử dụng để chờ một Lời hứa. Nó chỉ có thể được sử dụng bên trong một chức năng không đồng bộ trong mã JavaScript thông thường;

fyi nhà phát triển javascript hiện đại loại bỏ hoàn toàn jquery thay thế vị trí của nó ~ phần nào đó là các khung ui mvvm [model-view-view-model] là Angular, React và Vue để đặt tên cho các ứng cử viên hàng đầu. Mỗi dự án đó đều theo đuổi mục tiêu tối ưu hóa và đơn giản hóa việc hiển thị nội dung động thu được thông qua các phương tiện không đồng bộ như yêu cầu http

Nơi duy nhất bạn thực sự bắt gặp jquery là trong mã kế thừa cũ hơn và các nền tảng cms nguyên khối như WordPress. Phần còn lại của thế giới nhà phát triển giao diện người dùng hiện đại đã tiếp tục. Nhiều ưu điểm của jQuery đã bị phủ nhận bởi sự đổi mới của các trình duyệt hiện đại và tiêu chuẩn hóa apis

Đây là một bài viết khá hay mô tả chi tiết về sự sụp đổ không thể tránh khỏi của jQuery

Love2Dev – 14 tháng 4 20

Tại sao jQuery đã lỗi thời và đã đến lúc ngừng sử dụng nó

jQuery đã cách mạng hóa cách thức hoạt động của web. Ngày nay, các tiêu chuẩn web đã bắt kịp và vượt qua các tính năng của jQuery, đã đến lúc sử dụng các API gốc để thay thế

Xin chào,

cssissimple

Tôi có thể gán phản hồi vào một biến khác, nhưng khi tôi cố cập nhật biến toàn cục thì nó cứ báo không xác định. Tôi thậm chí đã thử đặt hẹn giờ

Vấn đề ở đây là các yêu cầu Ajax không đồng bộ [đầu mối nằm trong tên — Ajax là viết tắt của “JavaScript và XML không đồng bộ”]. Điều này có nghĩa là mã của bạn không đợi yêu cầu hoàn thành trước khi [ví dụ] ghi lại giá trị của biến toàn cục ở một nơi khác trong mã của bạn

Hãy xem bài viết này để hiểu thêm

điểm trang web. com

Kiểm soát luồng trong JS hiện đại. Gọi lại các lời hứa không đồng bộ/đang chờ - SitePoint

Craig Buckler đào sâu vào các vấn đề chính liên quan đến lập trình không đồng bộ trong JavaScript, chỉ ra cách làm cho cuộc sống của bạn dễ dàng hơn với Promise và async/await

cssissimple

Xin lỗi mới với JS, thậm chí còn mới hơn với jQuery

jQuery là JavaScript và như @windbenathmywings nói, nó ngày càng trở nên ít liên quan hơn khi các trình duyệt hiện đại triển khai nhiều tính năng của nó một cách nguyên bản. Tôi sẽ không đi xa đến mức nói “Đừng sử dụng nó”, nếu nó phù hợp với bạn, nhưng nếu bạn chưa đầu tư vào nó, thì có thể đáng để học cách làm mọi thứ mà không cần [trong trường hợp này thông qua

Hãy đọc bài báo tôi đã đăng, cũng như hai bài báo MDN được đăng bởi Windbeeathmywings và cho chúng tôi biết nếu bạn có bất kỳ câu hỏi nào

cánh gió

Lỗi Cors trên cùng một miền sẽ chỉ ra lỗi trên máy chủ bên trong admin-ajax. php

Tôi thú nhận rằng tôi không hiểu sâu về mạng, nhưng điều này đối với tôi có vẻ như là gốc rễ của vấn đề

Nếu bạn quay lại triển khai ban đầu của mình trước khi không đồng bộ/chờ bạn tìm thấy gì trong devtools dưới tab mạng. Bạn có thể sẽ muốn nhấp vào admin-ajax. php trong danh sách

Để cung cấp cho bạn một ý tưởng, tôi vừa thử hai cách tiếp cận sau từ xa trên máy chủ của trang web của tôi và cả hai đều hoạt động

tìm về

const setData = async [url, data] => {

    try {
        const response = await fetch[url, {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify[data]
        }]

        if [response.ok] return await response.json[]

        throw Error[`${response.url}: ${response.status} ${response.statusText}`]

    } catch [err] { console.log[err] }

    return {}
}

...

async function addButtonHandler [event] {

    const props = { .. }

    const propsFromResponse = await setData['./set-data.php', props]

    addElements.addButton[propsFromResponse]
    buttonId++
}

jquery ajax

const setData = function [url, data] {
    return jQuery.ajax[{
        url,
        data: JSON.stringify[data],
        dataType: 'json',
        method: 'POST'
    }]
}

function addButtonHandler [event] {
    const props = { .. }

    const response = setData['./set-data.php', props]

    response
        .then[function [props] {
            addElements.addButton[props]
            buttonId++
        }]
        .catch[console.log]
}

chỉnh sửa. tập hợp dữ liệu. tập tin thử nghiệm php

Chủ Đề