【问题标题】:autocomplete: failed to load response data自动完成:未能加载响应数据
【发布时间】:2017-06-21 23:29:27
【问题描述】:

我构建了一个自动完成功能,它在我的机器上运行良好。但现在我把它生活了,它不起作用。当您键入文本时,等待图像开始旋转,但没有任何反应。幸运的是页面没问题,所以用户可以继续,但是自动完成建议没有出现。

这对我来说是全新的,但我开始检查 Google Chrome 中的 Inspect,我注意到响应消息“未能加载响应数据”。但现在我不明白如何处理这个问题。我该如何解决这个问题?在 Edge 中也会发生同样的情况。

您可以像这样重现错误:

  1. 访问 www.gratisverlanglijstje.nl
  2. 登录喜欢 testac 密码 testac
  3. 在菜单内点击上方按钮“Verlanglijstje van testac
  4. 点击第二个绿色按钮'Cadeau toevoegen (vrije invoer)'
  5. 在第一个文本框中输入 lego

现在应该会出现自动完成列表,但没有任何反应,并且在右侧的文本框中,等待图像开始(并一直)旋转... 我认为您将从 google 检查窗口中获得最多的信息,但如果您需要代码 sn-ps,请告诉我...

【问题讨论】:

    标签: jquery asp.net autocomplete


    【解决方案1】:

    海布尔曼!

    您是否尝试过调试服务器端代码? ajax 对象正在返回您的默认错误页面

    <h2>Er is helaas een fout opgetreden</h2>
    <span id="ctl00_ContentPlaceHolder1_lblMsg" style="color:Red;">Klik op de Menu-knop rechtsboven voor jouw mogelijkheden. Ga anders terug naar de homepage en log daar (opnieuw) in. Dan moet het goed gaan.</span><br /><br />
    <span id="ctl00_ContentPlaceHolder1_lblSol"></span><br /><br />
    <a href='/default.aspx'>homepage</a><br /><br /><br />
    <span id="ctl00_ContentPlaceHolder1_Label1">Mocht je er niet uitkomen, stuur dan gerust een bericht met het <a href='/contact.aspx'>contactformulier</a>. Vermeld foutcode E1 in het bericht, en beschrijf wat je deed voordat de foutmelding zich voordeed.</span><br /><br />
    

    尝试将GetSuggesties 方法的主体包装在try catch 中,看看是否在某处抛出异常。

    如果我缺少什么,请告诉我。

    编辑 我通过简单地改变你的 ajax 发现:

    $.ajax({
                    url: 'cadeausuggestiesservice.asmx/GetSuggesties',
                    method: 'post',
                    data: { term: request.term },
                    dataType: 'json',
                    success: function (data) {
                        response(data);
                    },
                    error: function (err) {
                        console.log(err);
                    }
                });
    

    现在您可以在控制台中浏览对象

    【讨论】:

    • 感谢 Robbie,我将错误更改为 console.log,但该对象并没有提供(我)太多信息。如果你把 url 从 cadeau_toevoegen.aspx 改成 cadeau_toevoegentest.aspx 你可以看控制台请看gratisverlanglijstje.nl/beheerder/cadeausuggestiesservice.asmx
    • 没问题,很遗憾我也无法获得更多信息。错误必须是服务器端的,并且您的 GetSuggesties 方法不会返回错误。您如何捕获异常服务器端并将其作为GetSuggesties 方法的结果发送回来。 javascript 中没有可用的信息。
    • 感谢您的快速回复。我会按照您的建议尝试 GetSuggesties 返回更多错误信息...
    • 尝试在服务器端查看Environment.InteractiveMode。您可以创建一个错误页面来显示堆栈跟踪或有关错误的更多信息。 ajax 请求被正确处理并返回没有错误。由于错误,服务器决定创建错误页面作为返回值
    • 对不起,我不知道这样做。我在原始帖子中发布了我的 asmx 代码。
    【解决方案2】:

    将此添加到我的 web.config 解决了我的问题:

    <webServices>
    <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
    </protocols>
    </webServices>
    

    看看https://msdn.microsoft.com/en-us/library/4yx7be39(v=vs.100).aspxhttp://codeclimber.net.nz/archive/2006/12/22/How-to-enable-an-ASPNET-WebService-to-listen-to-HTTP/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多