entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

[AJAX] Cómo enviar datos mediante el método PUT?

Hola amigos, necesito su ayuda.
Desde hace varios días estoy intentando consumir un web service, pero para esto necesito enviarles datos (text o json) mediante el método PUT.
Lo estoy intentando hacer mediante AJAX pero hasta ahora no he podido.

$.ajax({
     url: webServiceURL,
     type: "PUT",
     dataType: "jsonp",
     data: JSON.stringify(Request_BLOCK),
     headers: {
        "PHPSESSID": "7n2a6kkjmio1u0sbr8fvomogo1" },
     success: OnSuccess,
     error: OnError
});

Esa es mi última versión de código que tengo, si hay otro método sería genial.
Gracias por su atención y espero me puedan ayudar.

2 Respuestas

0voto

white Puntos75880

Jsonp no soporta peticiones PUT | DELETE | POST ya que jsonp funciona agregando un elemento <script> en el documento haciendo una simple peticion GET.

http://es.wikipedia.org/wiki/JSONP

tienes acceso al servidor y al servicio web? podrias intentar con Json y definir la cabecera como tal.
Se trata de json realmente? podrias habilitar CORS en tu servidor http://enable-cors.org/

dataType: "json"

adicionalmente podrías agregar que mensaje te devuelve tu consola.

0voto

Dark6425 comentado

Ya intenté con json y aún no me funciona, me regresa Bad request (400). También intenté mandarlo como texto plano y obtuve el mismo resultado.

Anexo código para mejor entendimiento: http://jsfiddle.net/Dark6425/rmj2Lbgm/

0voto

white comentado

Antes que nada, te pertenece el servidor clickbus? si es así como manejas el servicio web junto con symfony? si no es asi no podras hacer mucho si no tienes los campos "shedule id" y "session id"correctamente definidos, el servidor responde con los siguientes mensajes:

seat_reservation.errors.parameters.scheduleId_not_saved
seat_reservation.errors.parameters.sessionId_changed

que son necesario segun vi en una supuesta documentación, https://github.com/RocketBus/clickbus-api-doc/blob/master/apiary.apib

0voto

wroque Puntos4630

Hola, Esto también fue una de mis dudas cuando trabajaba en mi SPA MVC con WebAPI, tu ajax queda de la sgte forma

este es un segmento de mi codigo, pero de ejemplo te servira

        $.ajax({
            type: 'PUT',
            dataType: 'json',
            url: '/api/membership/' + self.id,
            data: ko.toJSON(self.Membership()),
            contentType: 'application/json; charset=utf-8'
        }).done(function (data) {
            location.hash = '/user';
        });

ko.toJSON, no lo tomes en cuenta es una función de KnockoutJS para parsear un objecto observable a JSON.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta