laimas,
спасибо за ссылку но видимо моих знаний недостаточно чтоб воспользоваться тем кодом. |
Так надо чтобы и запрашиваемый сервер эту технологию поддерживал. Запросив по данному адресу jsonp проблем с доступом не будет, но будут проблемы:
SyntaxError: missing ; before statement {"2186":{"row":{"last":"57,760","ma":"\u041f.... Под Win, значит хватит: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <hta:application applicationname="myapp" border="thin" borderstyle="normal" caption="yes" icon="icon.ico" scroll="no" showintaskbar="yes" singleinstance="yes" maximizebutton="yes" contextmenu="yes" windowstate="maximize" selection="yes" innerborder ="no" /> <meta http-equiv="msthemecompatible" content="no" /> <meta http-equiv="X-UA-Compatible" content="IE=11" /> <script> function f(d) { alert(d) } </script> </head> <body> <iframe style="display:none" src="http://tsw.ru.forexprostools.com/api.php?action=refresher&pairs=2186&timeframe=60" name="frame" onload="f(frame.document.body.innerHTML)"></iframe> </body> </html> Сохранить с расширением .hta, вот и весь Ajax. ) |
Это пример jsonp с поддержкой сервером:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> $(function() { $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){ $.each(data.items, function(i,item){ $("<img/>").attr("src", item.media.m).appendTo("#ims"); if ( i == 4 ) return false; }); }); }); </script> </head> <body> <div id="ims"> </div> </body> </html> |
laimas,
причину и решение расказал danik.js, ещё во 2 посте других решений видимо нет. |
То о чем говорил danik.js, было бы идеальным, но у автора нет сервера, но для того что он хочет ему эти проблемы и не мешают, если он только сам их не захочет. )
|
Вложений: 1
В итоге сделал часть скрипта на VBS (исходники гаджета прилагаю)
То чего хотел добился все работает четко. Возникла новая проблема. хочу теперь выводить текст: из тега "technicalSummary" но он в json кодировке, не могу понять как силами VBS его перевести в обычный текст... (Напомню что я делаю гаджет для win7) Вот функция на VBS Function objXML_onreadystatechange() If (objXML.readyState = 4) Then 'msgbox objXML.statusText If (objXML.status = 200) Then s = objXML.responseText StartUSD = InStr(1,s,"summaryLast") USDS = Mid(s,StartUSD+14,6) StartTime = InStr(StartUSD,s,"time") TimeS = Mid(s,StartTime+18,8) StartText = InStr(1,s,"technicalSummary")+19 EndText = InStr(StartText,s,"""") TextS = Mid(s,StartText,EndText-StartText) 'ResText = json_decode(TextS) document.getElementById("summaryLast").innerHTML = USDS document.getElementById("Time").innerHTML = TimeS else 'msgbox objXML.statusText document.getElementById("summaryLast").innerHTML = "" 'убираем индикатор загрузки End If End If End Function Нужно тарабарщину из TextS превратить в нормальный текст... |
Может быть можно как то эту тарабарщину из VBS вывести в HTML и уже там как то при рендеренге страницы заменить на обычный текст с помощью json_decode.
|
json_decode - это в чем?
JSON в разных средах http://json.org/, и увы в VBS нужно писать парсер, есть на git PS. А подключить JS-библиотеку json2.js, и не париться? |
Цитата:
|
JSON.parse(TextS)
После Mid() у вас должен быть валидный json. |
Часовой пояс GMT +3, время: 02:50. |