نمایش نتایج 1 تا 4 از 4

نام تاپیک: چرا متد Post درست عمل نمی كنه؟

  1. #1
    کاربر تازه وارد آواتار WorldVbMan
    تاریخ عضویت
    دی 1385
    محل زندگی
    كرج
    پست
    61

    چرا متد Post درست عمل نمی كنه؟

    سلام
    تا امروز در Ajax از متد Get واسه ارسال پارامترهام به سرور استفاده می كردم و یا از واسط ICallbackEventHandler كه خودش پشت صحنش از متد Post استفاده می كنه
    الآن یه مقدار كارم از پارامتر گذشته و داده هام بزرگتر شدن و می خوام مستقیم از متد Post استفاده كنم و بدلایلی از واسط مذكور هم نمی تونم (نمی خوام) استفاده كنم
    خوب اومدم متد ذكر شده رو پیاده كردم، نتیجه واسه داده های عادی درسته ولی اگه كاراكترهای Html داشته باشم در سرور هیچ دریافتی ندارم و خطا هم رخ میده
    البته یه تستی كردم دیدم اون هم كلی نیست مثلاً:
    این خطا میده:
    <p>

    این خطا نمیده:
    <44>

    این مسأله یه كم قضیه رو بغرنج تر كرده و یه خورده گیج شدم
    از بابت كدی كه نوشتم ، دفعه ی اولی نیست كه از Ajax استفاده می كنم لذا پیش نیازهاش رو كاملاً رعایت كردم، آدرس بدون پارامتر ارسال میشه و هدر مناسب رو هم اضاف كردم.
    اصلاً اگر كد مشكلی داشت داده های عادی رو نمی فرستاد

    می خواستم ببینم با این مشكل مواجه نشدید؟ یا احیاناً جوابشو نمیدونید؟

    این رو هم بگم كه متن خطا (كه از ResponseText دریافتش می كنم) این هست:
    A potentially dangerous Request.Form value was detected from the client (c="<p>24</p>").

    .
    .
    Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (c="<p>24</p>").

    یه مورد دیگه هم اینكه در صورت وجود كاراكترهای =AnyChar& كه در كد بصورت ناخواسته ایجاد شن آیا این ها هم بعنوان یه سری پارامتر در نظر گرفته میشن؟ یعنی مثلاً AnyChar كه یه سری كاراكتر عادیه نه پارامتر و شانسی قبلش و بعدش اون دو كاراكتر اومده همانند یه پارامتر باهاش برخورد میشه یا نه؟ اگه آره راهكارش چیه؟
    قبلاً متشكر

  2. #2
    کاربر دائمی آواتار milade
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شیراز
    پست
    2,189

    نقل قول: چرا متد Post درست عمل نمی كنه؟

    سلام
    خوب این مشکل به خاط استفاده از کدهای Html هست ، که برنامه احساس میکنه شما دارید یه مقدار خطرناک رو پست میکنید !
    توصیه میکنم کارکترهای خاص مثل > رو با &gt; و بقیه کاراکترها هین طور ... جایگزین کنید و سمت سرور دوباره اونها رو Decode کنید .
    یا اینکه میتوند EnableEventValidation صفحه رو False گیر نده ! اما اون وقت خوتون باید مقادیر وارد شده رو کنترل و از وارد کرد مقادیر ممنوعه ( مثلا" اجرای اسکریپتها ) جلوگیری کنید

    موفق باشید

  3. #3
    کاربر تازه وارد آواتار WorldVbMan
    تاریخ عضویت
    دی 1385
    محل زندگی
    كرج
    پست
    61

    نقل قول: چرا متد Post درست عمل نمی كنه؟

    نقل قول نوشته شده توسط milade مشاهده تاپیک
    سلام
    خوب این مشکل به خاط استفاده از کدهای Html هست ، که برنامه احساس میکنه شما دارید یه مقدار خطرناک رو پست میکنید !
    توصیه میکنم کارکترهای خاص مثل > رو با &gt; و بقیه کاراکترها هین طور ... جایگزین کنید و سمت سرور دوباره اونها رو Decode کنید .
    یا اینکه میتوند EnableEventValidation صفحه رو False گیر نده ! اما اون وقت خوتون باید مقادیر وارد شده رو کنترل و از وارد کرد مقادیر ممنوعه ( مثلا" اجرای اسکریپتها ) جلوگیری کنید

    موفق باشید
    تشكر بابت توجه و پاسختون
    اگه ایراد از كد اچ تی ام ال هست:
    1- چرا برای یه مقدار نامعتبر از نظر Html همانند <salam> هم همین خطا رخ میده؟ ولی واسه عبارت <24> كه اون هم از كاراكترهای Html استفاده كرده خطا نمیده؟(هر دو نامعتبرند)
    2- چرا وقتی از واسط ICallback كه گفتم استفاده می كنم با اینكه اون هم از متد Post استفاده می كنه ارسال Html براش مشكلی ایجاد نمی كنه(زیاد ازش استفاده كردم) با اینكه EnableEventValidation هم تغییر داده نشده؟
    3- من در صفحه ای كه فراخوانی میكنم EnableEventValidation رو هم فالس گذاشتم با این وجود همچنان خطا میده
    4- كد جاوااسكریپت Ajax مورد استفاده ی DotNet رو در واسط فوق بررسی كردم كه اون میاد داده های ارسالی رو از پس از تغییر توسط دو تابع escape و یا encodeURIComponent ارسال می كنه ولی من كه این كار رو انجام دادم به كاراكتر % هم اگه كنارش كاراكترهای حرف بیان ایراد می گیره و همین خطا رو می گیره

    متشكر میشم بررسیش كنید

  4. #4
    کاربر تازه وارد آواتار WorldVbMan
    تاریخ عضویت
    دی 1385
    محل زندگی
    كرج
    پست
    61

    نقل قول: چرا متد Post درست عمل نمی كنه؟

    خدا رو شكر مشكل حل شد، جواب رو می نویسم تا یكی مثل من با این مشكل مواجه شد راحت تر مشكلش حل شه
    كفایت می كنه این خصلت رو واسه صفحه فالس كنید :
    ValidateRequest="false"
    آخرین ویرایش به وسیله WorldVbMan : چهارشنبه 07 اسفند 1387 در 19:48 عصر دلیل: رفع مشكل

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •