Как я могу интегрировать API PrintFriendly в веб-форму asp.NET (https://www.printfriendly.com/)? [Дубликат]

Еще один подход к возврату значения из асинхронной функции - передать объект, который сохранит результат от асинхронной функции.

Вот пример того же:

var async = require("async");

// This wires up result back to the caller
var result = {};
var asyncTasks = [];
asyncTasks.push(function(_callback){
    // some asynchronous operation
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;
            _callback();
        }
    });
});

async.parallel(asyncTasks, function(){
    // result is available after performing asynchronous operation
    console.log(result)
    console.log('Done');
});

Я использую объект result для хранения значения во время асинхронной операции. Это позволяет получить результат даже после асинхронного задания.

Я использую этот подход много. Мне было бы интересно узнать, насколько хорошо этот подход работает, когда задействован результат обратно через последовательные модули.

39
задан Mayank Modi 7 July 2015 в 18:09
поделиться

5 ответов

в вашем запросе ajax, добавив:

dataType: "jsonp",

после строки:

type: 'GET',

должен решить эту проблему ..

надеюсь, что эта помощь вам поможет

8
ответ дан Pegasus Cozza 23 August 2018 в 16:52
поделиться

У вас должна возникнуть идея, почему вы получаете эту проблему после прохождения вышеупомянутых ответов.

self.send_header('Access-Control-Allow-Origin', '*')

Вам просто нужно добавить указанную выше строку на стороне вашего сервера.

0
ответ дан Raghvendra Singh 23 August 2018 в 16:52
поделиться

Вы должны изменить код вашей серверной части, как указано ниже

public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext,   ContainerResponseContext responseContext)
    throws IOException {
        responseContext.getHeaders().add("Access-Control-Allow-Origin","*");
        responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");

  }
}
2
ответ дан Ritesh Kumar 23 August 2018 в 16:52
поделиться

Это происходит, когда вы пытаетесь получить доступ к ресурсам другого домена.

Это функция безопасности, позволяющая избежать свободного доступа к любым ресурсам этого домена (к которым можно получить доступ, например, для получения точной копии ваш сайт в пиратском домене.)

Заголовок ответа, даже если он 200OK не позволяет другим источникам (доменам, портам) обращаться к ресурсам ressources.

Вы можете исправить эта проблема, если вы являетесь владельцем обоих доменов:

Решение 1: через .htaccess

Чтобы изменить это, вы можете записать это в .htaccess запрошенного файла домена:

    <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    </IfModule>

Решение 2: установите заголовки правильным способом

Если вы установите это в заголовок ответа запрошенного файла, вы разрешите всем получить доступ к ресурсам ressources:

Access-Control-Allow-Origin : *

ИЛИ

Access-Control-Allow-Origin : http://www.my-domain.com

Мир и код;)

28
ответ дан Sébastien Garcia-Roméo 23 August 2018 в 16:52
поделиться

Ваш браузер не разрешает ваш запрос .. вам нужно установить аддон вашего веб-браузера

Для Chrome: https://chrome.google.com/webstore/detail/allow-control- allow-origi / nlfbmbojpeacfghkpbjhddihlkkiljbi? hl = ru

Для Firefox https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

-11
ответ дан Sourav Golui 23 August 2018 в 16:52
поделиться
Другие вопросы по тегам:

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