[英]send array of Javascript constructors from PHP to Javascript
我正在嘗試將數組從PHP發送回Javascript。 我正在使用Ajax來做到這一點。 我知道如何將數組發送到Javascript,但是這次我試圖發送包含一些Javascript構造函數的數組。 例如,我希望能夠發送此消息: [new Date(2017,06,03), 25, 33]
有沒有辦法將此數組發送給Javascript? 如果是這樣,那么Javascript如何在數組的第一個索引中創建新Date的方式使用此數組?
您不能只是簡單地發送new Date()
值而不是構造函數嗎? 我認為會更有效。
簡短的回答:不,沒有直接的方法。
長答案:當您說要從PHP向Javascript發送數組時,您需要了解PHP是服務器端語言,而Javascript是瀏覽器中運行的語言。 因此,在它們之間,您具有網絡層,並且在該層上傳輸的所有事物都應該可序列化,通常表示字符串。
因此,您通過Ajax傳遞給瀏覽器的數據通常是JSON。 它只能包含原始值,例如:字符串,數字,布爾值,空值。
new Date(2017,06,03)是一個javascript對象,不屬於JSON規范。 您可以使用某些PHP函數(例如date
序列化Date,通過Ajax發送,然后在Javascript world中反序列化。
像這樣:
<?php
/* your Ajax return */
echo json_encode(array(date('c', mktime(0, 0, 0, 7, 1, 2000)), 25, 33)); // will return ["2000-07-01T00:00:00-07:00",25,33]
?>
然后在JavaScript部分,您可以使用Date
構造函數對其進行解析。
// Javascript
const response = ...
const myData = new Data(response[0]); // Will be Date obj.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.