2012-10-05 6 views
0

Salut est-il un moyen d'obtenir la demande d'un poste afin que je puisse l'imprimer?

Je voudrais par exemple obtenir ceci (connecté au serveur).

/App/user/[email protected]&dob=Fri Oct 05 2012 10:23:25 GMT+0200 (CEST)&childPortions=&tips=on&firstName=] 

Je sais qu'il existe des outils pour cela, mais ce n'est pas intéressant pour moi maintenant.

$.ajax({ 
    type: 'POST', 
    url: "/App/user/", 
    data: profile, 
    cache: false, 
    success: function(data){    
     $(".response-container").html(JSON.stringify(data, null, 2)); 
    } 

}); 

Cela ressemble option intéressante (jQuery.param())

Les données peuvent contenir une chaîne de requête de la forme clé1 = valeur1 & key2 = valeur2, ou une carte de la forme {key1: 'value1', key2: 'value2'}. Si le dernier formulaire est utilisé, les données sont converties en une chaîne de requête à l'aide de jQuery.param() avant d'être envoyées. Ce traitement peut être contourné en définissant processData sur false. Le traitement peut être indésirable si vous souhaitez envoyer un objet XML au serveur; dans ce cas, modifiez l'option contentType de l'application/x-www-form-urlencoded en un type MIME plus approprié.

éditer: Le .ajaxSend n'est jamais exécuté. La fonction de succès est appelée. Comment cela peut-il arriver?

$(document).ajaxSend(function(e, jqXhr, options) { 
    alert("hallo"); 
}); 
$.ajax({ 
    type: 'POST', 
    url: "/App/user/", 
    data: profile, 
    cache: false, 
    success: function(data){    
     console.log("ajax sent!") 
    } 

}); 
+0

ce qui est sur votre côté serveur? – wroniasty

+0

quoi? votre question n'est pas claire. – Gustonez

+0

Je voudrais imprimer la demande telle qu'elle est envoyée au serveur. – pethel

Répondre

1

Vous pouvez utiliser le gestionnaire d'événements global .ajaxSend pour traiter toutes les requêtes AJAX juste avant leur envoi au serveur. Les paramètres transmis au gestionnaire d'événements fournissent toutes les informations dont vous aurez besoin.

Live example.

+0

Ceci est la réponse mais mon ajaxSend ne se déclenche pas. J'appelle ajax parce que j'obtiens une réponse. Des idées? – pethel

+0

@ user874774: Je ne sais pas ce que vous dites ici. – Jon

+0

Se il vous plaît se modifier dans le message d'origine – pethel

0

Bien sûr, il existe un moyen d'obtenir les données de demande côté serveur. Comment - dépend du type de backend que vous utilisez (PHP, JSP, ASP.NET, DJANGO ....)

En PHP, vous pouvez vérifier $_SERVER['QUERY_STRING'] ou $_POST.

+0

Je en ai besoin dans mon front-end js avant d'envoyer – pethel

+0

alors @Jon a la bonne réponse – wroniasty

0

En C#, vous pouvez utiliser

Request.RawUrl