【问题标题】:Getting no response from an ajax callajax 调用没有响应
【发布时间】:2015-06-20 06:25:21
【问题描述】:

我一直试图让这个 ajax 调用工作几个小时,但未能解决任何可能的问题,因为一切似乎都根据jQuery Ajax Call 正确编码。据我所知,代码甚至没有被执行。但是,当我手动运行 API 调用时,我得到以下 JSON 结果:

<UnitsOfMeasure.UnitsOfMeasureDataWithMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Corporate.Web.API.DAL">
    <Message/>
    <Success>true</Success>
    <UnitOfMeasureBaseUnitItem i:nil="true"/>
    <UnitOfMeasureBaseUnitList i:nil="true"/>
    <UnitOfMeasureRelatedUnitItem i:nil="true"/>
    <UnitOfMeasureRelatedUnitList i:nil="true"/>
    <UnitOfMeasureSetItem i:nil="true"/>
    <UnitOfMeasureSetList i:nil="true"/>
    <UnitOfMeasureTypeItem i:nil="true"/>
    <UnitOfMeasureTypeList i:nil="true"/>
    <UsedForID>d64d99f9-acfa-44cd-a199-4557b7b20912</UsedForID>
</UnitsOfMeasure.UnitsOfMeasureDataWithMessage>

我的API代码如下:

[Route("api/admin/UnitsOfMeasure/UnitOfMeasureDefaultUsedForGetID")]
[HttpGet]
[ResponseType(typeof(UnitsOfMeasure.UnitsOfMeasureDataWithMessage))]
public IHttpActionResult UnitOfMeasureDefaultUsedForGetID(string UnitOfMeasureDefaultUsedForName)
{
    UnitsOfMeasure _oUnitsOfMeasure = new UnitsOfMeasure();
    return Ok(_oUnitsOfMeasure.UnitsOfMeasureSet_GetUsedForID(UnitOfMeasureDefaultUsedForName));
}

我的 DAL 应该返回一个布尔标志和一个 Guid。

而我的 Ajax 调用如下:

$.ajax({
    type: "GET",
    url: g_WebServiceUnitOfMeasureDefaultUsedForGetIDURL,
    data: {"UnitOfMeasureDefaultUsedForName": "Purchase"},
    datatype: "json",
    success: function(jsonResult){
        DefaultUnitUsedForID = jsonResult;
    },
    failure: function (xhr, textStatus, errorThrown) {
        console.log(xhr);
        console.log("---------------------------------------------------------------------------");
        console.log(textStatus);
        console.log("---------------------------------------------------------------------------");
        console.log(errorThrown);
        console.log("---------------------------------------------------------------------------");
    },
    error: function (xhr, textStatus, errorThrown) {
        console.log(xhr);
        console.log("---------------------------------------------------------------------------");
        console.log(textStatus);
        console.log("---------------------------------------------------------------------------");
        console.log(errorThrown);
        console.log("---------------------------------------------------------------------------");
    }});

如前所述,从单步执行代码开始,它甚至没有进入成功或失败函数。我做错了什么?

【问题讨论】:

  • 控制台在 Web 开发人员工具中显示哪些错误?第404章?
  • 没什么,没有错误。调试器在调用的第一行之后完全绕过了 ajax 调用。
  • 在 Chrome 调试器中打开网络选项卡,查看请求是否由浏览器发出
  • 我使用 VS2013 进行了调试,看起来调用正在执行,但是在网站上,没有任何反应。
  • @RaviKumarMistry 有指定执行的条目,仍然没有返回数据。

标签: javascript c# jquery ajax json


【解决方案1】:

可能是愚蠢的,但试一试

$.get( g_WebServiceUnitOfMeasureDefaultUsedForGetIDURL,
{"UnitOfMeasureDefaultUsedForName": "Purchase"} )
.done(function( data ) {
DefaultUnitUsedForID = jsonResult;
alert( "Data Loaded: " + data );
});

【讨论】:

  • jquery 的版本是多少?
  • 这就是我们所说的糟糕的一天,你做的一切都是对的,尝试一些愚蠢的事情,不要明智地思考,因为有时它会解决我的问题。 ;P
【解决方案2】:

【讨论】:

    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 2011-03-11
    • 2019-08-09
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多