سؤال

لدي هذا الرابط، في محاولة لتنفيذ سجل AJAX، على صفحتي:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah"}) %>

هناك div مع معرف lll في مكان قريب. عندما أقوم بالنقر فوق الرابط، أحصل على تأكيد BLAH (أضفا فقط لأغراض تصحيح الأخطاء، والسلوك بدونه هو نفسه) ولكن بعد ذلك يحدث شيء. لا يوجد طلب يصل إلى الخادم (لأن لدي نقطة توقف على طريقة عمل تسجيل الدخول). وهذا في الكروم و IE8. في FF3، يفتح عرض تسجيل الدخول ولكن كصفحة، لا يقوم بتنزيله عبر AJAX.

أي أفكار ما قد يكون الخطأ؟

هل كانت مفيدة؟

المحلول

كانت المشكلة أن رابط Ajax Action يجعل طلب مشاركة افتراضيا وتم توجيهه إلى طريقة تسجيل الدخول الأخرى (منشور واحد مقبول) وهذا هو السبب في أنني لم أكن أضعف نقطة التوقف أيضا، فقد فشلت لأن بيانات النشر اللازمة لم يتم إرسالها. إضافة httpmethod إلى رابط الإجراء ثابت:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah",
    HttpMethod = "Get"}) %>

نصائح أخرى

يبدو أن هناك بعض خطأ JavaScript في الصفحة التي تسبب إدخال JavaScript لمعالجة طلب AJAX عدم إطلاق النار. هل نظرت إليها في Firebug على تحميل الصفحة لمعرفة ما إذا كانت جميع جافا سكريبت التحميل بشكل صحيح؟ أيضا، هل تطابق إصداراتك من مكتبات Microsoft JavaScript من إصدار MVC الذي تستخدمه؟ أتذكر مرة واحدة على الأقل في تقدم الإصدارات التي اضطررت إلى تحديث نسختي يدويا من مكتبات Microsoft JavaScript في مشروعي. إذا كان مشروعك موجودا من خلال إصدارات متعددة من MVC، أقترح تتبع المكتبات الجديدة (إنشاء مشروع جديد ونسخها إلى One القديم أو افتح أرشيف المشروع في دليل تثبيت واستخراجها باليد) وتثبيتها وبعد

هل قمت بتضمين نصوص عميل AJAX في قسم الرأس:

  • microsoftmvcajax.js.
  • microsoftajax.js.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top