HTTP GET запрос в JavaScript?

int mHours = t / 60; //since both are ints, you get an int
int mMinutes = t % 60;
System.out.printf("%d:%02d", "" +mHours, "" +mMinutes);
721
задан Peter Mortensen 27 January 2014 в 13:50
поделиться

11 ответов

Ajax

Вы были бы лучшими от пользования библиотекой такой как Прототип или jQuery.

2
ответ дан Peter Mortensen 27 January 2014 в 13:50
поделиться

В файле Вашего виджета Info.plist не забывайте устанавливать Ваш AllowNetworkAccess ключ к истинному.

5
ответ дан Andrew Hedges 27 January 2014 в 13:50
поделиться

Лучший способ состоит в том, чтобы использовать Ajax (можно найти простое учебное руководство на этой странице Tizag ). Причина состоит в том, что любая другая техника, которую можно использовать, требует большего количества кода, она, как гарантируют, не будет работать, перекрестный браузер без переделывает, и требует, чтобы Вы использовали больше клиентской памяти путем открытия скрытых страниц в кадрах передающие URL, анализирующие их данные и закрывающие их. Ajax является способом войти в эту ситуацию. То, что мои два года JavaScript тяжелый разговор разработки.

5
ответ дан Nikola Stjelja 27 January 2014 в 13:50
поделиться

Я не знаком с Mac OS Виджеты Dashcode, но если бы они позволяют Вам пользоваться библиотеками JavaScript и поддерживать XMLHttpRequests, я использовал бы jQuery и сделал бы что-то вроде этого:

var page_content;
$.get( "somepage.php", function(data){
    page_content = data;
});
8
ответ дан Peter Mortensen 27 January 2014 в 13:50
поделиться

Прототип делает его очень простым

new Ajax.Request( '/myurl', {
  method:  'get',
  parameters:  { 'param1': 'value1'},
  onSuccess:  function(response){
    alert(response.responseText);
  },
  onFailure:  function(){
    alert('ERROR');
  }
});
12
ответ дан Mark Biek 27 January 2014 в 13:50
поделиться

IE будет кэшировать URL для создания загрузки быстрее, но если Вы, скажем, опросите сервер, с промежутками пытаясь получить новую информацию, IE будет кэшировать тот URL и вероятно возвратит тот же набор данных, который Вы всегда имели.

Независимо от того, как Вы заканчиваете тем, что делали Ваш ПОЛУЧАТЬ запрос - ваниль JavaScript, Прототип, jQuery, и т.д. - удостоверяются, что Вы помещаете механизм на месте для борьбы с кэшированием. Для борьбы с этим добавьте уникальный маркер до конца URL, Вы собираетесь быть ударом. Это может быть сделано:

var sURL = '/your/url.html?' + (new Date()).getTime();

Это добавит уникальную метку времени до конца URL и предотвратит любое кэширование.

19
ответ дан Arend 27 January 2014 в 13:50
поделиться

Вот код, чтобы сделать это непосредственно с JavaScript. Но, как ранее упомянуто, Вы были бы очень более обеспечены с библиотекой JavaScript. Моим фаворитом является jQuery.

В случае ниже, страницу ASPX (это обслуживает как сервис REST бедного человека) называют для возврата объекта JSON JavaScript.

var xmlHttp = null;

function GetCustomerInfo()
{
    var CustomerNumber = document.getElementById( "TextBoxCustomerNumber" ).value;
    var Url = "GetCustomerInfoAsJson.aspx?number=" + CustomerNumber;

    xmlHttp = new XMLHttpRequest(); 
    xmlHttp.onreadystatechange = ProcessRequest;
    xmlHttp.open( "GET", Url, true );
    xmlHttp.send( null );
}

function ProcessRequest() 
{
    if ( xmlHttp.readyState == 4 && xmlHttp.status == 200 ) 
    {
        if ( xmlHttp.responseText == "Not found" ) 
        {
            document.getElementById( "TextBoxCustomerName"    ).value = "Not found";
            document.getElementById( "TextBoxCustomerAddress" ).value = "";
        }
        else
        {
            var info = eval ( "(" + xmlHttp.responseText + ")" );

            // No parsing necessary with JSON!        
            document.getElementById( "TextBoxCustomerName"    ).value = info.jsonData[ 0 ].cmname;
            document.getElementById( "TextBoxCustomerAddress" ).value = info.jsonData[ 0 ].cmaddr1;
        }                    
    }
}
73
ответ дан rp. 27 January 2014 в 13:50
поделиться

В jQuery:

$.get(
    "somepage.php",
    {paramOne : 1, paramX : 'abc'},
    function(data) {
       alert('page content: ' + data);
    }
);
183
ответ дан Pistos 27 January 2014 в 13:50
поделиться
// Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest()

// Open a new connection, using the GET request on the URL endpoint
request.open('GET', 'restUrl', true)

request.onload = function () {
  // Begin accessing JSON data here
}

// Send request
request.send()
1
ответ дан Pradeep Maurya 14 September 2019 в 17:15
поделиться
<button type="button" onclick="loadXMLDoc()"> GET CONTENT</button>

 <script>
        function loadXMLDoc() {
            var xmlhttp = new XMLHttpRequest();
            var url = "<Enter URL>";``
            xmlhttp.onload = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == "200") {
                    document.getElementById("demo").innerHTML = this.responseText;
                }
            }
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }
    </script>
0
ответ дан Rama 14 September 2019 в 17:15
поделиться
  • 1
    I' m не уверенный при добавлении.Value будет всегда работать. Начиная с A2000, there' s разъединение между формой/отчетом и базовым recordsource, и это отражается в потребности иметь контроль с controlsource для любого поля, к которому Вы обращаетесь в коде. Таким образом, если MyField находится в recordsource, но нет никакого управления с ним, поскольку ControlSource, обращаясь к нему в коде ненадежен, не из-за. или! или.Value, но потому что MS испачкал отношения между формой/отчетом и ее Полевым набором. – David-W-Fenton 30 May 2010 в 19:13

Если вы хотите использовать код для виджета Dashboard и не хотите включать библиотеку JavaScript в каждый созданный виджет, вы можете использовать объект XMLHttpRequest, который изначально поддерживается Safari.

Как сообщил Эндрю Хеджес, виджет по умолчанию не имеет доступа к сети; вам нужно изменить этот параметр в info.plist, связанном с виджетом.

1
ответ дан 22 November 2019 в 21:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: