озадачен вызовом jquery внутри расширения Chrome - PullRequest
2 голосов
/ 20 апреля 2010

В моем расширении Chrome я называю это:

jsonPost = {
    email:"phil@demo.demo",
    password:"demo",
    content: $('#selected_text').val(), 
    notification_type: $('#notification_type').val(),
    name:$('#notification_name').val()
}

$.post('http://localhost:3000/api/create.json', jsonPost, 
        function (data) {
            console.log("type of data = " + typeof(data));
            console.log("data in function = " + data);
            }

Данные попадают на сервер. Но ответ потерян, в консоли --- тип данных = строка --- данные в функции =

Так что по какой-то причине я не получаю ответ. Работает из браузера. Я даже попытался сделать попытку против cnn.com и не получил ответа.

есть идеи?

спасибо

Ответы [ 3 ]

1 голос
/ 20 апреля 2010

jQuery примет «лучшее предположение» о том, как интерпретировать данные, основанные на типе MIME и некоторых других факторах, может ли это быть неправильное предположение? Вы можете форсировать его, добавив четвертый параметр к вашему вызову, указав тип данных & mdash; например, "json", "text", "html" ... Полный список здесь в ajax документах.

1 голос
/ 20 апреля 2010

Вы сталкиваетесь с ограничениями межсайтового скриптинга? Если он работает на странице, находящейся на «localhost», но не в расширении, возможно, вам нужно запросить разрешение Chrome для доступа к вещам вне контекста безопасности расширения по умолчанию. Посмотрите, поможет ли совет Google по запросу разрешений между источниками для расширения .

1 голос
/ 20 апреля 2010

вам нужно использовать json в качестве типа записи, для сокращенного метода используйте его вот так

$.post(url, data, function(result) {

}, 'json');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...