Soy nuevo en la Web Sevice, recibo el siguiente error cuando intento ejecutar mi página (Local) en Chrome Consola

ERROR

No se pudo cargar el recurso: el servidor responde con un estado de 405 (Método No Permitido) http://localhost:12015/myWebService.asmx?op=GetCategories


Aquí está el código relacionado:

jQuery

 $.ajax({
     url: "http://localhost:12015/myWebService.asmx?op=GetCategories",
     type: "POST",
     ------------
     ------------
    success: function (data) {                    
         var categories = data.d;
         $.each(categories, function (index, category) {
             category.CategoryId).text(category.CategoryName);
         });
    },
    error: function (e) {  //always executing 'error' only
         alert("hello");
    }

dirección URL del servicio web

http://localhost:12015/myWebService.asmx


 [WebMethod]
 [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
 public List<Categories>  GetCategories()
 {
      //code
 }

URL de la página de

http://localhost:11761/Default.aspx

EDIT: El error ido cuando me acaba de incluir dataType: 'jsonp' Pero ahora hay otro error.

Uncaught SyntaxError: testigo Inesperado <
:12015/myWebService.asmx?op=GetCategories&callback=jQuery183010907560377381742_1356599550427&{}&_=1356599550438:3

Cuando hice click en el link(que se mencionó en el error), es la visualización de la página. Entonces, ¿cuál podría ser el problema ? No sé cuál es el error medio (y también la parte de código para mostrar). Por favor, ayudar.

Relacionados con

Link1 (explicación)
Link2 (solucionado)

localhost:12015/myWebService.asmx <– esto es accesible, supongo que es una web de problema con el servidor de configuración de IIS tal vez
sí, lo siento, me olvidé de mencionar todo lo que es local(me refiero en mi PC)
Es su dataType='jsonp'?
Es el aspecto de sus están haciendo un GET no un POST
usted puede echar un vistazo a esto:checkupdown.com/status/E405.html

OriginalEl autor Mr_Green | 2012-12-27

4 Comentarios

  1. 3

    probar este

     [WebMethod]
     [ScriptMethod(UseHttpPost = true)]
     public List<Categories>  GetCategories()
     {
          //code
     }

    o editar web.config

    <system.web>
        ...
        <webServices>
            <protocols>
                  <add name="HttpSoap"/> 
                  <add name="HttpPost"/> --> 
                  <add name="HttpGet"/>
                  <add name="Documentation"/>
                  <add name="HttpPostLocalhost"/>
            </protocols>
        </webServices>
        ...
    </system.web>

    Consulte http://codeclimber.net.nz/archive/2006/12/22/How-to-enable-an-ASP.NET-WebService-to-listen-to-HTTP.aspx

    Necesito usar sólo json no puedo cambiar eso.. (restringido)
    usted está utilizando type: "POST", en jquery llamada ajax, por lo que el webservice debe permitir post solicitud se puede hacer por la edición web.config archivo demasiado. por favor, consulte codeclimber.net.nz/archivo/2006/12/22/…
    Hey que web.Archivo de configuración es? Me refiero en relación a mi página o servicio web..
    web.archivo de configuración de webservice

    OriginalEl autor Miqdad Ali

  2. 3

    hacer su tipo de contenido como «application/json; charset=utf-8», de la siguiente manera

    $(document).ready(function() {
    $.ajax({
    type: "POST",
    url: "RSSReader.asmx/GetRSSReader",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
      //Hide the fake progress indicator graphic.
      $('#RSSContent').removeClass('loading');
    
      //Insert the returned HTML into the <div>.
      $('#RSSContent').html(msg.d);
     }
    });
    });

    consulte también enlace

    Gracias funcionó para mí, en mi caso estaba trabajando en modo de depuración, pero cuando publiqué la solución el método delete no fue a trabajar, pero yo ya tenía el tipo de contenido, sólo necesitaba agregar el charset=utf-8

    OriginalEl autor rahul.deshmukh

  3. 2

    He añadido una simple línea en la de mi amigo sugerencia sobre el ajax de jquery llamada

     jQuery.support.cors = true;

    Ahora se está trabajando muy bien 🙂

    SÓLO EN ES DECIR NAVEGADOR

    Yo sería feliz de saber si puede ser resuelto mediante la distinta forma, ya que no es recomendado.

    De todos modos hice esta pregunta de nuevo después de muchos esfuerzos y tengo otro error que fue resuelto en este post aquí

    OriginalEl autor Mr_Green

  4. 1

    en mi caso estaba fallando porque de allí no estaba método POST en servet, pero tuve método GET.

    así que justo cambiado el tipo:»GET», por lo que está trabajando ahora.

    OriginalEl autor user5857614

Dejar respuesta

Please enter your comment!
Please enter your name here