۰۶ اردیبهشت ۱۳۹۱ در ۱۰:۵۷
admin
آژاکس, مثالها
بدون نظر
اگه به مثال های قبلی JSON دقت کنید می بینید در سمت مشتری با دستور eval ، عبارات json دیکد شده است.
دستور eval در جاواسکریپت یک دستور قدرتمند است و به علت همین قدرتش از امنیت کمی برخوردار است
کار این دستور دقیقا پارس کردن عبارات رشته ای است
به این ترتیب اگر سمت سرور، خطایی در کد نمودن json رخ دهد یا عبارت دیگری اشتباها ارسال شود. نتیجه برنامه بشدت تغییر می کند.
البته از نظر امنیتی هم استفاده از این دستور توصیه نمی شود.
و اما راه حل
برای تجزیه نمودن عبارت جی سون می توانید از پارسری که سایت json ارائه داده است استفاده نمایید.
که می توانید آنرا از اینجا دانلود کنید: دانلود پارسر جی سون (5)
داخل فایل فشرده تعدادی پارسر هست که من json2 رو برای این کار پیشنهاد می کنم.
برای استفاده هم کافیه که در هدر صفحه اچ تی ام ال اون رو فراخوانی کنید :
<script type="text/javascript" src="json2.js"></script>
در قسمت دیکد کردن عبارت جی سان هم این عبارت رو جایگزین عبارت قبلی (eval) کنید
var jsonRes= JSON.parse(xmlHttp.responseText);
و این هم مثال قبلی اما اصلاح شده : دانلود مثال قبلی جی سون با تغییرات (12)