سؤال

هل من الممكن اكتشاف طريقة طلب HTTP (على سبيل المثال؟الحصول على أو نشر) لصفحة من جافا سكريبت؟إذا كان الأمر كذلك، كيف؟

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

المحلول

في كلمة واحدة - لا

نصائح أخرى

لا أعتقد ذلك.إذا كنت بحاجة إلى هذه المعلومات، أقترح تضمين أ <meta> عنصر تم إنشاؤه على الخادم والذي يمكنك التحقق منه باستخدام JavaScript.

على سبيل المثال، مع PHP:

<meta id="request-method" name="request-method" content="<?php echo htmlentities($_SERVER['REQUEST_METHOD']); ?>">
<script type="text/javascript">
    alert(document.getElementById("request-method").content);
</script>

إذا كنت بحاجة إلى هذه الوظيفة، فاطلب من الخادم اكتشاف الطريقة المستخدمة ثم تعديل شيء ما في DOM بحيث يمكنك قراءته لاحقًا.

يمكنك التحقق من مُحيل الصفحة:

document.referrer == document.URL

إذا كانت نفس الصفحة، فمن المحتمل جدًا أن يكون المستخدم قد أرسل النموذج.

بالطبع هذا يتطلب

  • أنك لا تربط من صفحة بنفسها (وهو أمر مطلوب لإمكانية الوصول على أي حال)
  • أن يتم إرسال النموذج إلى نفس الصفحة الموجودة فيه
  • أن المستخدم لم يقم بتعطيل المُحيل

لا يمكنك القيام بذلك من أجل منشور/حصول عادي ولكن يمكنك الوصول إلى هذه المعلومات إذا كنت تستخدم استدعاء xmlhttp واستخدمت getResponseHeader

جرب هذا

function getURIQueryString(){
    var params = {};
    var qstring = window.location.toString().substring(window.location.toString().indexOf("?") + 1);
    var regex = /([^&=]+)=([^&=]+)/g;
    var m;
    while (m = regex.exec(qstring)){
        params[decodeURIComponent(m[1])] = decodeURIComponent(m[2])       
    }
    return params
}

عادة ما يعمل.على سبيل المثال للحصول على معلمات تسمى test.استخدم هذا

getURIQueryString().test

لكن من المستحيل الحصول على طلب نشر

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