使用jQuery ajax从ASP.NET 1.1调用Web服务方法,而不返回任何数据。

时间:2012-09-11 14:57:28

标签: asp.net web-services

我托管了一个由jQuery ajax从 ASP.NET 1.1 调用的Web服务。

以下是我用来调用网络服务的代码:

function OnTrimLevelChange() 
{
    var $jDecode = jQuery.noConflict();
    var vin = $jDecode("input[id*=txtVIN]").val();
    var styleId = '';
    var paramList = '{"vin": "' + vin + '","styleID": "' + styleId + '"}';
    try
    {

        $jDecode.ajax({
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            url: 'http://192.168.10.10/VINDecoder/service.asmx/CallADSWebMethod',
            data: paramList,
            dataType: 'json',
            success: function(data) {
                alert('I am here');
        },
            error: function(xml,textStatus,errorThrown) {
                alert(xml.status + "||" + xml.responseText);
            }
        });
    }
    catch(er)
    {
    }
}

=============================================== ========
上面的 总是会转到错误部分 错误:
xml.status = 0
xml.responseText = null

Web方法代码是:

[WebMethod]
public VINDescription CallADSWebMethod(string vin, string styleID)
{
       VehicleDescription vehicleDescription = FetchVehicleInfo(vin, true, styleID);

        VINDescription vinDescription = new VINDescription();

        try
        {
            if (vehicleDescription != null)
            {
                //Check if the response status of the call is successful or not.
                if (vehicleDescription.responseStatus.description.Equals("Successful"))
                {
                    vinDescription = AddToVINDescription(vehicleDescription);

                }
            }
        }
        catch (NullReferenceException ex)
        {
        }
        return vinDescription;
}

注意:web服务是在.Net 4.0中创建的,我调用的站点是1.1。 它们托管在不同的服务器中。

让我知道我在这里缺少什么,或者我在做什么错误。

1 个答案:

答案 0 :(得分:0)

需要在Web服务中启用脚本服务执行。像这样:

[ScriptService]