2009-11-23 7 views
4

J'essaie de configurer un simple exemple JQuery afin de faire des appels AJAX à un service web .NET. En utilisant l'exemple suivant ci-dessous, je reçois des erreurs AJAX qui sont en train de dire 0 dans le résultat à la place d'un message significatif:ASP .NET AJAX et JQuery

Javascript Appel

function QSHelloWorld() { 
    var options = { 
     type: "POST", 
     url: "http://localhost:1087/QueryService.asmx/HelloWorld", 
     data: "{}", 
     contentType: "application/json", 
     dataType: "json", 
     success: AjaxSucceeded, 
     error: AjaxFailed 
    }; 

    $.ajax(options);  
} 

function AjaxSucceeded(result) { 
    alert(result.d); 
} 

function AjaxFailed(result) { 
    alert("Error: " + result.status + " " + result.statusText); 
} 

ASP .NET WebSite

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="jQueryTest._Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script language="javascript" type="text/javascript" src="js/jquery-1.3.2-vsdoc2.js" /> 
<script language="javascript" type="text/javascript" src="js/qsAJAX.js" /> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="formMain" runat="server"> 
    <div> 
     <script type="text/javascript"> 
      QSHelloWorld(); 
     </script> 
    </div> 
    </form> 
</body> 
</html> 

ASP WebService .NET

using System.Web.Script.Services; 
using System.Web.Services; 

namespace QueryService 
{ 
    /// <summary> 
    /// Summary description for Service1 
    /// </summary> 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [ScriptService] 
    public class QueryService : WebService 
    { 
     [WebMethod] 
     [ScriptMethod] 
     public string HelloWorld() 
     { 
      return "Hello World"; 
     } 
    } 
} 

Lorsque je fais un appel à QSHelloWorld, je reçois un message gebox dire Erreur: 0 sans plus d'informations.

Je cours actuellement cet exemple en utilisant Windows 7, ai-je besoin de quelque chose de spécifiquement installé en dehors du .NET Framework 3.5 SP1 pour que cela fonctionne correctement?

Merci,

Daven

Répondre

3

Peut-être this page vous aider. Leur exemple utilise aussi JSON.

+0

En fait, c'est l'une des pages que je mettais ensemble cet exemple. –

0

J'ai rencontré des problèmes lors du chargement de JQuery directement dans la page .ASPX. Au lieu de cela, j'ai une classe ProjectBasePage que c'est le fait PageLoad:

Page.ClientScript.RegisterClientScriptInclude(typeof(ProjectBasePage), 
      "jQuery", ResolveUrl("~/js/jquery-1.3.2.min.js")); 

Il fonctionne pour moi ...

1

Le problème est que les fichiers JavaScript sont du chargement du fichier dans Chrome, mais pas dans IE. Après avoir effectué la modification suivante dans le fichier ASP.NET Default.aspx, tout semblait fonctionner.

Changement:

<script language="javascript" type="text/javascript" src="js/jquery-1.3.2-vsdoc2.js" /> 
<script language="javascript" type="text/javascript" src="js/qsAJAX.js" /> 

à

<script type="text/javascript" language="javascript" src="/js/jquery-1.3.2-vsdoc2.js"></script> 
<script type="text/javascript" language="javascript" src="/js/qsAJAX.js"/></script>