无法通过 AJAX 阅读HTML文件(如JSON)而不会出现“意外令牌”错误

r8xiu3jd  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(164)

我有一个西门子S7 1200 PLC,上面有一个网页,格式像JSON文件(除了它是HTML,但它需要HTML,以便PLC可以更改它的变量)。我试图通过使用 AJAX 请求从外部web服务器读取其内容。我只能在使用'dataType': "jsonp"时成功地获取数据,因为这样我就解决了跨域的问题,但是在进行 AJAX 请求时,它给出了一个错误:
未捕获的语法错误:意外令牌:':' API.htm:2:9
这是在文件中,我阅读的 AJAX 请求。这个错误可能是因为它需要一个json文件,但它得到的是一个html文件。
我该怎么办?

这是api.htm文件:

{
    "Muntje"::="Feedback-WS".Muntje:,
    "AdK"::="Feedback-WS".Aanraking_der_Kunst:,
    "Juwelenkistje"::="Feedback-WS".Juwelenkistje:,
    "Duivelsbeeld"::="Feedback-WS".Duivelsbeeld:,
    "Klok"::="Feedback-WS".Klok:,
    "Hertenpoot"::="Feedback-WS".Hertenpoot:,
    "Zekering_Kledingkast"::="Feedback-WS".Zekering_Kledingkast:,
    "Bed_knop_1"::="Feedback-WS".Bed_knop_1:,
    "Bed_knop_2"::="Feedback-WS".Bed_knop_2:,
    "Bed_knop_3"::="Feedback-WS".Bed_knop_3:,
    "Bed_knop_4"::="Feedback-WS".Bed_knop_4:,
    "Vacuum_Pomp"::="Feedback-WS".Vacuum_Pomp:,
    "Signaal_Generator"::="Feedback-WS".Signaal_Generator:,
    "Stekkerrek"::="Feedback-WS".Stekkerrek:,
    "Zekering_1"::="Feedback-WS".Zekering_1:,
    "Zekering_2"::="Feedback-WS".Zekering_2:,
    "Zekering_3"::="Feedback-WS".Zekering_3:,
    "Hoofdschakelaar"::="Feedback-WS".Hoofdschakelaar:,
    "Morse_Code"::="Feedback-WS".Morse_Code:
}

这是试图读取api.htm页面的代码。

var settings = {
                'cache': false,
                'dataType': "jsonp",
                "contentType": "application/json; charset=utf-8",
                "async": true,
                "crossDomain": true,
                "url": "http://192.168.22.160/awp/TIR/api.htm",
                "method": "GET",
                "headers": {
                    "accept": "application/json",
                    "Access-Control-Allow-Origin":"*"
                }
            }
            
            $.ajax(settings).done(function (response) {
                //console.log($.parseJSON(response));
                
            });
2admgd59

2admgd591#

我通过在JSON数据前面添加let jsonString = '来修复它(当然,用另一个')关闭它,这样JavaScript就不会抛出任何错误,我的JSON数据在字符串中。也许不应该这样做,但它的工作。

相关问题