Ajax โหลดเนื้อหาและต่อท้าย URL ที่เกี่ยวข้อง

ฉันกำลังพยายามใช้ Ajax ในโปรเจ็กต์

แนวคิดคือเมื่อฉันคลิกแท็บ ข้อมูลที่เกี่ยวข้องควรโหลดตามแท็บนั้น

แต่ควรต่อท้าย URL บนแถบที่อยู่ของรูปแบบปัจจุบันที่ฉันอยู่ด้วย

สมมติว่าฉันคลิกแท็บ ERP ดังนั้น ERP Divs ควรโหลดภายในเพจ แต่ URL ที่เกี่ยวข้องก็ควรแสดงเช่น www.mydomain.com\erp ด้วย

ฉันรู้เกี่ยวกับฟังก์ชัน .load แต่ด้วยฟังก์ชันนี้ จึงไม่อัปเดต URL บนแถบที่อยู่ อีกทั้งข้อมูลจะมาจากไฟล์ต่างๆ

เมนูด้านซ้ายจะมาจากฐานข้อมูลบนฐานบทบาท

ฉันใช้ Codeigniter ในโปรเจ็กต์นี้

ฉันอยากมีฟังก์ชัน Url เพราะจะทำให้ผู้ใช้เข้าถึงหน้านั้นได้โดยตรงด้วย URL ที่สมบูรณ์ได้ง่าย แถมยังให้ประโยชน์จากบุ๊กมาร์กด้วย

นี่คือภาพหน้าจอเพื่อความสะดวกยิ่งขึ้น ป้อนคำอธิบายรูปภาพที่นี่


person Sizzling Code    schedule 13.03.2013    source แหล่งที่มา
comment
คุณสามารถให้บริการหน้าว่างปกติได้ และเมื่อพร้อมแล้ว คุณสามารถส่งคำขอ ajax และเติมข้อมูลลงในหน้านั้นได้   -  person Damien Pirsy    schedule 14.03.2013


คำตอบ (2)


AFAIK คุณไม่สามารถเปลี่ยน URL จริงโดยไม่ต้องโหลดหน้าซ้ำ

คุณจะต้องใช้ไลบรารี 'jquery-address' ลองดูที่ https://github.com/asual/jquery-address

person simshaun    schedule 13.03.2013
comment
อันที่จริงนี้ไม่เป็นความจริง history.pushState() อนุญาตให้คุณเปลี่ยน URL โดยไม่ต้องโหลดหน้าซ้ำ - person Devin Young; 14.03.2013
comment
ขอบคุณสำหรับการตอบกลับ เพราะการตอบกลับของคุณ ฉันคิดว่าจะพบห้องสมุด และไลบรารีที่อยู่ jquery นั้นดี แต่ฉันพบว่าไลบรารี jquery bbq สะดวกกว่า อย่างไรก็ตามขอขอบคุณที่แชร์ลิงก์ jquery-address - person Sizzling Code; 28.04.2013

ฉันจะทำสองสิ่งที่แตกต่างกันที่นี่:

  1. หากต้องการเปลี่ยน URL แบบไดนามิกโดยไม่ต้องโหลดหน้า ให้ใช้ history.pushState() วิธีการ หากคุณสนับสนุนเบราว์เซอร์รุ่นเก่า history.js จะเป็น API เดียวกันกับที่กลับไปสู่แฮชแท็ก วิธี. โปรดทราบว่า URL เหล่านี้ไม่สามารถเข้าถึงได้จากภายนอก ดังนั้น:

  2. เมื่อผู้ใช้เดินทางไปยังหนึ่งใน URL เหล่านั้น ให้ตั้งค่าเริ่มต้นของแท็บที่เปิดไว้ตามที่คุณต้องการ คุณจะต้องจับภาพเส้นทางที่ต้องการและใช้เวทมนตร์จาวาสคริปต์กับเส้นทางนั้น

person Devin Young    schedule 13.03.2013