سؤال

أحتاج إلى تقييم استجابة AJAX.REQUEST (باستخدام النموذج الأولي) مع عبارة تبديل:

new Ajax.Request('http://localhost/somescript.php',{method:'post',parameters:params,onSuccess:
    function(response)
    {
        var result = response.responseText;
        switch (result)
        {
            case "ok":
            //do something...
            break;

            case "nok":
            //do something...
            break;

            case "almost":
            //do something...
            break;

            default:
            //do something...
        }
    }
    });

إذا كنت تحقق من قيمة "النتيجة" المرسلة بواسطة البرنامج النصي للخادم، فإن الاستجابة صحيحة (سلسلة: "موافق" أو "NOK" أو "NOK" اعتمادا على المعلمات المرسلة). ولكن لسبب ما، يقوم التبديل دائما بتقييم الحالة الافتراضية! حاولت التسلسل "النتيجة" بسلسلة فارغة قبل بيان التبديل، ولكن لا حظ ... ما أنا في عداد المفقودين هنا؟

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

المحلول

ربما لأن النتيجة تحتوي على استراحة خط. حاول تقليمها مع شيء مثل:

var result = response.responseText;
result = result.replace(/^[\s\r\n]+|[\s\r\n]+$/g, "");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top