Post или Get, более подходящие для вызова простой страницы asp через jQuery Ajax - PullRequest
0 голосов
/ 31 марта 2011

У меня есть html-страница, на которой мне нужно позвонить на другую страницу asp, чтобы получить дату / час через ajax-вызов.Какой метод был бы лучше или лучше, Post или Get?

Поскольку я извлекаю только несколько бит данных и не отправляю никакие данные на страницу информации, один метод лучше или лучше, чем другой?

Это простая страница ASP.

<%@LANGUAGE="VBSCRIPT"%>
<% Option Explicit %>
<%=Weekday(Date)%>
<%=Hour(Now)%>

И это Ajax-вызов к странице asp выше.

jQuery.ajax({
url: '/v/timecheck.asp',
type: 'GET',
cache: false,
success: function(data){
// do something with the data  
        }, 
error: function() {
//do something on error
            return false;
        }
}) 

Причина, по которой я должен сделать вызов Ajax на этой странице ASP, заключается в том, что я не могу запросить сервер непосредственно с этой страницы.

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

Мое эмпирическое правило при выборе любого из них:

  • Взаимодействие включает в себя базу данных, POST
  • Взаимодействие включает в себя конфиденциальную информацию, POST
  • Запрос простых данных, GET
  • Отправка пользовательского ввода, POST
  • Отправка / запрос больших данных, POST
  • Чистый URL, POST

Как видите,большинство случаев связаны с POST по многим причинам.Например, в вашем случае вы можете использовать GET или POST.В любом случае, jQuery упрощает вызов обеих функций.

Проще $. POST

$.post("/v/timecheck.asp", function (data) {
    if (data.time != "") {
        //retrieve success
    {
    else
    {
        //retrieve fail
    };
});

или проще $. GET

$.get("/v/timecheck.asp", function(data) {
    if (data.time != "") {
        //retrieve success
    {
    else
    {
        //retrieve fail
    };
});
1 голос
/ 31 марта 2011

W3C имеет документ с рекомендациями о том, когда использовать GET или POST, по адресу: http://www.w3.org/2001/tag/doc/whenToUseGet-20040321#checklist

Использование запроса GET позволяет кэшировать результат браузером, тогда как запрос POST не будет кэшироваться.и страница будет восстанавливаться каждый раз.

В вашем примере кода вы не изменяете какие-либо данные в результате запроса и предоставляете только день и час, поэтому используйте GET и настройте кэшЗаголовки HTTP до 1 часа обеспечат вам лучшую производительность и уменьшат нагрузку на ваш сервер.

1 голос
/ 31 марта 2011

Я бы использовал POST, я думаю, что в ASP.NET есть причина секретности использовать POST, но не уверен, относится ли это к IIS (и, возможно, ASP)

...