Отправляю такой запрос
$.ajax({
type: "POST",
url: "http://apitest.jde.ru:8000/calculator/price?from=1125899906842720&to=1125899906842638&weight=14&volume=0.05&quantity=1&pickup=0&delivery=0&declared=2777&services=DVAL",
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(data2) {
console.log(data);
}
})
но если смотреть в дебагере, то запрос при отправке уходит вот такой
http://apitest.jde.ru:8000/calculator/price?from=1125899906842720&to=1125899906842638&weight=14&volume=0.05&quantity=1&pickup=0&delivery=0&declared=2777&services=DVAL&callback=jsonCallback&_=1496041705297
До этого не возникало никаких особых проблем, но сервер ругается что параметр _ не найден. Что это за параметр _=1496041705297? Для чего он передается ajax? И можно ли как то обойтись без него?
Это timestamp, он там для того, чтоб сервер отдавал не кешированые данные, а свежие. Лушим решением будет решить эту проблему на серверной стороне
Из доков жуквери:
dataType
...
"jsonp": Загружает данные в JSON используя при помощи формата ....
.... Выключает кэширование путем добавления параметра "_=[TIMESTAMP]" к URL адресу, даже если значение параметра cache равно true.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей