2010-03-29 5 views
0

Il est actuellement ce code prototype qui fait un PUT:Comment dois-je porter ce prototype à JQuery?

new Ajax.Request(someUrl, { 
    method: 'put', 
    parameters: { 'foo': bar }, 
    onSuccess: function(response) { } .bind(this) 
}); 

Je trouve this post mais la solution utilise un paramètre supplémentaire pris en charge par RoR, mais je suis ciblage d'un back-end ASP.NET.

J'ai cherché un peu et constaté que tous les navigateurs ne supportent pas les opérations PUT donc apparemment cela pourrait échouer dans certains navigateurs? C'est déjà en prod, donc un port direct serait bien pour le moment je suppose. En aparté, quel est le problème avec le bind (this) dans la fonction onSuccess?

Répondre

5

Le .bind(this) retourne une fonction wrapper qui appelle la fonction originale dans le contexte du paramètre passé à .bind.

Vous Portpeut le code à l'aide $.ajax:

$.ajax({ 
    url: someUrl, 
    type: 'put', 
    data: { foo: bar}, 
    context: this,  //Calls callback in context. 
    success: function() { } 
}); 
0

put et delete demande la correspondance vers la fonction jQuery $.ajax (here).

$.ajax(
    url: someUrl, 
    type: 'put', 
    data: { /* your key-value data pairs here */ }, 
    success: function() { 
     alert('put request succeeded!'); 
    } 
);