我有一个西门子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));
});
1条答案
按热度按时间2admgd591#
我通过在JSON数据前面添加
let jsonString = '
来修复它(当然,用另一个')
关闭它,这样JavaScript就不会抛出任何错误,我的JSON数据在字符串中。也许不应该这样做,但它的工作。