Ajax Получить запрос, Uncaught SyntaxError [duplicate]

Здесь он находится в C # (lat и long в радианах):

double CalculateGreatCircleDistance(double lat1, double long1, double lat2, double long2, double radius)
{
    return radius * Math.Acos(
        Math.Sin(lat1) * Math.Sin(lat2)
        + Math.Cos(lat1) * Math.Cos(lat2) * Math.Cos(long2 - long1));
}

Если ваш lat и long находятся в градусах, разделите их на 180 / PI для преобразования в радианы.

8
задан nyedidikeke 24 December 2016 в 20:36
поделиться

2 ответа

Чтобы поддерживать запросы JSONP , сервер должен будет включить в ответ P или « Padding ».

jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})

Синтаксическая ошибка "Unexpected token :" заключается в том, что JSONP анализируется как JavaScript, где {...} также представляет блоки . Он просто использует JSON и аналогичный синтаксис JavaScript для определения данных, передаваемых глобальному вызову функции.

По умолчанию jQuery будет включать параметр строки запроса callback с именем функции:

var callback = req.query.callback;
var data = JSON.stringify({
    Name : "Tom",
    Description : "Hello it's me!"
});

if (callback) {
    res.setHeader('Content-Type', 'text/javascript');
    res.end(callback + '(' + data + ')');
} else {
    res.setHeader('Content-Type', 'application/json');
    res.end(data);
}

ExpressJS также включает в себя res.jsonp() , который уже реализует это условие:

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});
9
ответ дан Jonathan Lonowski 19 August 2018 в 18:08
поделиться
  • 1
    Ссылка в вашем ответе на запросы JSONP нарушена. Пожалуйста обновите. – BobbyMick 7 April 2018 в 17:55

Вы хотите использовать dataType: «json» вместо «jsonp»

-3
ответ дан Dan Putman 19 August 2018 в 18:08
поделиться
  • 1
    есть разные причины, по которым вы хотите использовать jsonp, один пример - иметь возможность звонить через разные домены – Mahshid Zeinaly 8 April 2015 в 21:40
  • 2
    согласен, jsonp для CORS, вы не можете просто использовать json, если вам нужно сделать запрос на асинхронный перекрестный домен через javascript. – Karl 30 June 2015 в 20:22
  • 3
    JSONP не для CORS. JSONP - это взлом, который мы использовали до того, как CORS был разработан и поддерживается браузерами. – Quentin 31 July 2015 в 09:36
  • 4
    Спасибо, что разъяснил, что я имел в виду. JSONP - это когда вы не можете использовать CORS. – Karl 5 August 2015 в 19:38
Другие вопросы по тегам:

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