หากมีรายการค่าตัวแปรจำนวนมากที่ได้รับจากไฟล์อื่นผ่าน ajax แล้วกำหนดให้กับตัวแปรจำนวนมากใน js มีวิธีที่ดีหรือไม่?
ส่งคืนค่าในไฟล์ PHP ไปยังตัวแปรสองตัวของ js
ตัวแปรสองตัวในไฟล์ js ที่ได้รับคือ:
bo_count=3
และ
hd_count=3
รหัส PHP<?PHP
//สร้างสตริง json สำหรับสิ่งนี้ คุณสามารถพิจารณาฟังก์ชัน json_encode ที่มาพร้อมกับ PHP หรือคุณสามารถใช้คลาส json PHP แบบโอเพ่นซอร์สใน Google
$ผลตอบแทน = "";
-
<script type='text/javascript'>
var content = eval("(<?PHP echo $return;?>)");//$return ที่นี่เทียบเท่ากับสตริงที่เซิร์ฟเวอร์ส่งคืนหลังจากส่ง ajax
สำหรับ (var i ในเนื้อหา){
หน้าต่าง [i] = เนื้อหา [i];
-
การแจ้งเตือน(bo_count);//123
การแจ้งเตือน (hd_count);//456
</สคริปต์>
หน้าต่าง['abc'] = 1;
มันเทียบเท่ากับการตั้งค่าตัวแปรโกลบอล abc เท่ากับ 1 สิ่งนี้ไม่สำคัญคือหลังจากประเมินสตริง json แล้ว คุณสามารถอ่านค่าตามวิธีที่ js เข้าถึงคุณสมบัติของอ็อบเจ็กต์ และรับค่าใดก็ได้ที่คุณต้องการ .
รหัส JScript<script type='text/javascript'>
เนื้อหา var = {
bo_count: 123
hd_count: 345
-
alert(เนื้อหา['bo_count']);
</สคริปต์>
ประสิทธิภาพของสตริง json ค่อนข้างสูง วิธีการโต้ตอบก่อนหน้านี้ที่ใช้รูปแบบ xml นั้นยุ่งยากกว่ามากในการแยกวิเคราะห์
file.PHP ควรเขียน
เสียงสะท้อน 'bo_count='.$bocount=count($bo_array[0]);
เสียงสะท้อน "น";
เสียงสะท้อน 'bd_count='.$bocount=count($bo_array[0]);
ด้วยวิธีนี้ ค่าของเนื้อหาใน js คือ "bo_count=3nbd_count=3"
ก็สามารถเป็นเช่นนี้ได้เช่นกัน
ไฟล์การเขียนด้วย PHP
เสียงสะท้อน 'bo_count='.$bocount=count($bo_array[0]);
เสียงสะท้อน ";";
เสียงสะท้อน 'bd_count='.$bocount=count($bo_array[0]);
ด้วยวิธีนี้ ค่าของเนื้อหาใน js คือ "bo_count=3;bd_count=3"
กล่าวโดยสรุป คำสั่ง js ทางกฎหมายจะต้องส่งผ่าน ajax
จากนั้นเขียนด้วย js
ความสำเร็จ: ฟังก์ชั่น (เนื้อหา) {
ประเมินผล(เนื้อหา);
-
ใช้ตัวแปร json วิธีนี้ฉันได้ลองซ้ำแล้วซ้ำอีก
รหัสเจสคริปต์
ฟังก์ชั่น (ข้อมูล) {
var myjson='';
eval('myjson=' + ข้อมูล + ';');
-