摆脱无关的控制台错误(404(未找到))

麦威尔逊

我有一个简单的程序,它在抓取某些项目的网站。我正在使用Angular $ http服务来调用下面的C#方法以从页面获取标记,然后使用JS处理其他所有内容。除了一个小麻烦:一系列404错误,其他一切工作都很好。

http get调用完成后,开发人员工具中将显示404错误。这几乎就像javascript试图解释HTML,然后在浏览器中对图像的所有获取请求上均失败:

在此处输入图片说明

我要弄清楚的是如何使404错误消失或无声地失败(不在控制台中显示)。我没有在研究中找到任何东西,但假设有某种方法可以处理此问题,无论是在服务器端还是客户端

C#

public static string GetPageSource()
        {
            JObject result = new JObject();

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://awebpage.html");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
                result["data"] = reader.ReadToEnd();
                result["success"] = true;
                reader.Close();
                response.Close();
            }
            catch (Exception ex)
            {
                result["data"] = ex.Message;
                result["success"] = false;
            }

            return JsonConvert.SerializeObject(result);
        }

JS

$scope.getPageSource = function () {
            var ajaxProcessor = Utils.ajaxMessage('Scraping Beer Menu From Source');
            ajaxProcessor.start();
            $http({
                method: 'POST',
                url: 'AJAX/MenuHandler.aspx/GetPageSource',
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                data: {}
            }).then(function (response) {
                ajaxProcessor.stop();
                var result = $.parseJSON(response.data.d);

                if (result.success === false) {
                    Utils.showMessage('error', result.data);
                } else {
                    var beerMenu = new BeerMenu(result.data, $scope.loggedInUser, function (beerMenu) {
                        $scope.buildDisplayMenu(beerMenu);
                    });

                }

            }, function (err) {
                ajaxProcessor.stop();
                console.log(err);
                Utils.showMessage('error', err.data.Message);
            });
        };

更新

感谢@dandavis,我的问题仅限于在buildDisplayMenu函数(调用buildCurrentMenu)中调用$ .parseHTML。是否有使其忽略图像或任何获取请求的方法?

buildCurrentMenu: function () {
        var html = $.parseHTML(this.pageSource);
        var menuDiv = $(html).find('.TabbedPanelsContent')[0];
        var categories = $(menuDiv).find('h2');
        var categegoryItems = [];
        var beerArray = [];

        for (var i = 0; i < categories.length; i++) {
            ...
        }
        return beerArray;
    }
麦威尔逊

解决方案是在调用之前从页面源中删除所有img标签(或任何其他应忽略的标签) $.parseHTML

this.pageSource = this.pageSource.replace(/<img[^>]*>/g, "");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

net::ERR_ABORTED 404(未找到)-控制台错误

来自分类Dev

Flutter处理调试控制台错误“未找到方法”

来自分类Dev

Nuget软件包管理器控制台未找到错误

来自分类Dev

未找到错误404

来自分类Dev

摆脱控制台命令行

来自分类Dev

如何摆脱bash控制台的暂停?

来自分类Dev

在Google Play控制台的内部应用共享中上传APK,但“未找到项目”

来自分类Dev

我如何摆脱laravel错误控制台输出中的红色背景

来自分类Dev

404未找到或错误请求?

来自分类Dev

错误 404 - 未找到 Wildfly

来自分类Dev

jQuery控制台错误

来自分类Dev

控制台<init>错误

来自分类Dev

错误的控制台读取

来自分类Dev

在corda的H2控制台中未找到空指针异常和表“SYNONYMS”错误

来自分类Dev

控制台“找不到404”?

来自分类Dev

如何从浏览器控制台日志中找到错误的来源?

来自分类Dev

Spring Webapp抛出404错误且没有控制台日志

来自分类Dev

Spring Webapp抛出404错误且没有控制台日志

来自分类Dev

404错误显示备用资源并仍然显示控制台消息

来自分类Dev

MediaWiki中的MathJax:显示了转义的语法,控制台出现404错误

来自分类Dev

Laravel Ajax 404未找到错误

来自分类Dev

404 - 未找到错误 RequestDispatcher jsp forward

来自分类Dev

获取错误 /api/Questions/ 404(未找到)

来自分类Dev

Django 2.0.5 404 错误页面未找到

来自分类Dev

以与X /控制台无关的方式更改控制台(tty)和X上的键盘布局/映射?

来自分类Dev

Angular img src控制台错误

来自分类Dev

从控制台隐藏错误和警告

来自分类Dev

控制台Maven编译错误

来自分类Dev

控制台输出顺序错误