Daven Patel
Daven Patel

Reputation: 176

ASP .NET AJAX and JQuery

I'm trying to set up a simple JQuery example in order to make AJAX calls to a .NET webservice. Using the following example below I'm getting AJAX errors that are just saying 0 in the result instead of any meaningful message:

Javascript Call

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 .NET WebService

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";
        }
    }
}

When I make a call to the QSHelloWorld I get a messagebox saying Error: 0 with no further information.

I'm currently running this example using Windows 7, do I need to have anything specifically installed besides the .NET Framework 3.5 SP1 in order to get this to run properly?

Thanks,

Daven

Upvotes: 3

Views: 384

Answers (3)

Daven Patel
Daven Patel

Reputation: 176

The issue is that the javascript files were loading file in Chrome, but not in IE. After making the following change in the ASP .NET Default.aspx file, everything seemed to work.

Changing:

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

to

<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>

Upvotes: 1

John Earles
John Earles

Reputation: 1

I've had problems when trying to load JQuery directly in the .ASPX page. Instead I have a ProjectBasePage class that in it's PageLoad does this:

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

It works for me...

Upvotes: 0

vladikoff
vladikoff

Reputation: 1514

Maybe this page will help you out. Their example uses JSON as well.

Upvotes: 2

Related Questions