Jquery Rest comunicación con WCF 3.5.

Estoy probando lo básico para intercambiar mensajes de descanso entre un sitio mvc de asp.net y un servicio WCF 3.5. El servicio se crea utilizando la plantilla que se encuentra en el kit de inicio de REST de WCF que se encuentra en codeplex. Me gustaría intercambiar mensajes json usando jquery. El servicio REST Singleton funciona correctamente y también proporciona ejemplos de todas las llamadas posibles que agregan el parámetro de ayuda al final del uri. Llego para realizar solicitudes GET con el jquery $ .getJSON integrado. Tengo problemas para hacer el PUT (para actualizar valores) y POST.

$.ajax({ type: "PUT", dataType: "json", url: "http://localhost:1045/Service.svc/?format=json", data: '{"Value":testvalue}' }); 

¿Cuál es el mejor enfoque para esto? ¿Es posible no usar a la Sra. Ajax y es correcto omitirlo?

“PUT” y “DELETE” no son compatibles con todos los navegadores de acuerdo con jQuery

El tipo de solicitud a realizar (“POST” o “GET”), el valor predeterminado es “GET”. Nota: otros métodos de solicitud HTTP, como PUT y DELETE, también se pueden usar aquí, pero no son compatibles con todos los navegadores.

http://docs.jquery.com/Ajax/jQuery.ajax#options

Aunque realmente no entendí tu pregunta. ¿Está teniendo problemas para hacer un PUT y un POST o simplemente un POST? ¿Funciona bien el GET?

Un error que noté fueron tus datos, aviso que lo agregué sin comillas.

 $.ajax({ type: "PUT", dataType: "json", url: "http://localhost:1045/Service.svc/?format=json", data: { Value: "testvalue" } }); 

También asegúrese de tener su tipo de contenido configurado correctamente en su llamada ajax.

contentType: "application/json"

El valor por defecto de JQuery es

contentType: "application/x-www-form-urlencoded"

Los verbos PUT y DELETE no están habilitados en todos los servidores. Debe colocar estos verbos en un encabezado X-HTTP-Method-Override. El valeu se toma del encabezado y se sustituye por un POST normal antes de que se procese la solicitud.

El complemento jQuery jREST puede ayudarte con esto. Si está utilizando WCF, también necesitará implementar un RequestInterceptor (busque XHttpMethodOverrideInterceptor para obtener más detalles).