2016-05-12 12 views
0
$.ajaxSetup({ 

    beforeSend: function(jqXHR, settings) { 
     if(settings.type == "POST") 
      settings.data = $.extend(settings.data, {test:"One" }); 
     return true; 
    } 
}); 

Hallo arbeiten, Ich möchte Daten hinzufügen {Test: „One“} zu jedem und jeder Ajax-Aufruf von dieser Seite, wenn die Anfrage/Typ Post ist. Aber aus irgendeinem Grund funktioniert der obige Code nicht. Was ist mit dem obigen Code falsch?

+0

Sie Fehler in der Konsole erhalten Sie ? –

+0

Was bedeutet "funktioniert nicht" genau? – Madbreaks

+0

Übrigens müssen Sie 'settings.data' nicht zuweisen, da' $ .extend() 'das Objekt an Ort und Stelle ändert. – Barmar

Antwort

1

Ich glaube, dass Sie dies mit der ajaxPrefilter() Funktion verarbeiten kann, die alle Änderungen zu handhaben ausgelegt ist, die vor ihnen auf Anfragen vorgenommen werden müssen gesendet werden:

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
    // If this is a POST, then add to it 
    if(originalOptions.type == 'POST' || options.type == 'POST') { 
     options.data = $.extend(originalOptions.data, { test: 'One' }); 
    } 
}); 
+0

Ich bin Benutzer Jquery 1.4 wo Prefilter nicht verfügbar ist. Wenn ich nicht arbeite, kam Vorfilter von 1,5 in Ajax – user1844634

Verwandte Themen