2010-01-30 6 views
5

Quando accedo al servizio Web da jQuery, ricevo l'errore 403 proibito. Ho anche pubblicato e creato nella directory virtuale. Wat è la causa di questo errore e come correggerlo? Ho aggiunto il webservice nella stessa soluzione .. Questo è il mio codice seguente ..403 Errore proibito

$(document).ready(function() { 
     $("#sayHelloButton").click(function(event){ 
      $.ajax({ 
       type: "POST", 
       url: "App_Code/DummyWebService.asmx/HelloToYou", 
       data: "{'name': '" + $('#name').val() + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(msg) { 
        AjaxSucceeded(msg); 
       }, 
       error: AjaxFailed 
      }); 
     }); 
    }); 
      function AjaxSucceeded(result) { 
       alert(result.d); 
      } 
      function AjaxFailed(result) { 
       alert(result.status + ' ' + result.statusText); 
      } 

Suppongo utilizzando tale percorso URL per webservice è sbagliato .. ho usato il percorso 'DummyWebservice.asmx'. Ci sto ottenendo l'errore del server interno 500.

+0

Hai bisogno di fornire ulteriori informazioni qui. Hai uno snippet di codice dal lato client o server? Una copia delle intestazioni di richiesta e risposta? Qual è il servizio web remoto? La tua domanda è così generale che non c'è modo per nessuno di rispondere senza semplicemente indovinare nell'oscurità. –

+0

Hai provato un percorso assoluto? 'url:" /DummyWebService.asmx/HelloToYou "' –

+0

Provato .. 404-Errore file non trovato si verifica ... – Nila

risposta

4

IIS e il server di sviluppo impediscono l'accesso alla cartella App_Code. Qui è dove si devono memorizzare i file di classe ma asmx deve essere in una posizione visibile pubblicamente.

Sposta il tuo asmx nella radice del tuo sito ma lascia il tuo asmx.cs in App_Code in modo che sia compilato.

Quindi ovviamente cambia il percorso nel tuo JavaScript e provalo.