ข้อผิดพลาดของปลั๊กอินแบบฟอร์ม jQuery เมื่อส่งคืนข้อมูล JSON ตาม jQuery v1.4.2;
รูปแบบข้อมูลเอาต์พุตพื้นหลังดั้งเดิมคือ: {sitename: 'เครือข่ายนักพัฒนา', siteUrl: 'www.aaa.net', ระดับ: 10} จำเป็นต้องเปลี่ยนเป็น {"sitename": "เครือข่ายนักพัฒนา", "siteurl":: "www .aaa.net", "ระดับ": 10}
นั่นคือชื่อจะต้องรวมอยู่ในคำพูดสองครั้ง
| if (/^ [ like ,: {{} enky*$/.test(data. แทนที่ (/\ (?: [" \/bfnrt] | u [0-9a-fa-f] { 4})/g , "@") .replace (/"[^" \ n r]*"| true | false | null |-? d+(?: . d*)? (?: [ee] [+-]? d+)?/g , "]") .replace (/(?:^|: |,) (?: s* [)+/g, ""))) { // ลองใช้ตัวแยกวิเคราะห์ JSON ดั้งเดิมก่อน } อื่น { |
สถานที่ที่จะแก้ไขปลั๊กอินฟอร์ม jQuery
| if (scr || s.textarea) { // ดูว่าการตอบสนองแบบฝังตัวของผู้ใช้ใน textarea var ta = doc.getElementsByTagname ('textarea') [0]; ถ้า (ta) { xhr.ResponSetext = ta.value; - อื่นถ้า (scr) { // บัญชีสำหรับเบราว์เซอร์ที่ฉีดก่อนการตอบสนอง JSON var pre = doc.getElementsByTagname ('pre') [0]; ถ้า (ก่อน) { xhr.ResponSetext = pre.innerhtml; - - - อื่นถ้า (s.datatype == 'xml' &&! xhr.responsexml && xhr.responsetext! = null) { XHR.Responsexml = ToxMl (XHR.ResponSetext); - |
แก้ไขเป็น:
| if (scr || s.textarea) { // ดูว่าการตอบสนองแบบฝังตัวของผู้ใช้ใน textarea var ta = doc.getElementsByTagname ('textarea') [0]; ถ้า (ta) { xhr.ResponSetext = ta.value; - อื่นถ้า (scr) { // บัญชีสำหรับเบราว์เซอร์ที่ฉีดก่อนการตอบสนอง JSON var pre = doc.getElementsByTagname ('pre') [0]; ถ้า (ก่อน) { xhr.ResponSetext = pre.innerhtml; } else xhr.responsetext = doc.body.innerhtml; - - อื่นถ้า (s.datatype == 'xml' &&! xhr.responsexml && xhr.responsetext! = null) { XHR.Responsexml = ToxMl (XHR.ResponSetext); - |
ที่อยู่ดั้งเดิม: http://www.vifo.net/program/javascript/10090191.shtml