Как сделать POST-запрос с помощью JavaScript в расширении Chrome? - PullRequest
0 голосов
/ 20 сентября 2019

Мне было интересно, есть ли еще способ сделать это:

<form action="http[://localhost/.../script.php" method="POST">

обычный звонок.Я не хочу, чтобы он запускался при отправке формы, но вместо этого я не хочу, чтобы он запускался при вызове функции.

Буду ли я использовать JQuery или AJAX?

Ответы [ 3 ]

1 голос
/ 20 сентября 2019

Вы можете использовать Fetch API на Chrome, чтобы сделать это:


// building your form values
var data = new URLSearchParams();
data.set('var1', 'value 1');
data.set('var2', 'value 2');

// send to the endpoint
fetch("http://localhost/.../script.php", {
        method: 'POST',
        mode: 'no-cors',
        cache: 'no-cache',
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
        },
        body: data
    }).then(function(response) {
        // check the response object for result
        // ...
    });

0 голосов
/ 20 сентября 2019

Вы можете использовать AJAX для отправки данных в ваш PHP-скрипт, который затем запустится.

Обратите внимание, что jQuery и AJAX не являются альтернативами друг другу.

AJAX - это асинхронный HTTP-запрос(что вам и нужно).

jQuery - это библиотека javascript, которую вы можете использовать для выполнения вызовов AJAX.

Я бы взглянул на https://api.jquery.com/jQuery.post/

Этоэто сокращенная функция для создания ajax-запроса POST.Например:

function triggerMyPhpScript(data) {
    $.post("http://localhost/.../script.php", data, function(responseData) {
        // do something with the response of your script
    });
}

Мне также нравится ответ Fetch от Коала Йенга.Это также будет хорошо работать в современных браузерах.Имейте в виду, что если вы хотите поддерживать древние браузеры (например, Internet Explorer), вам необходимо реализовать функцию обнаружения и откат в случае, если выборка не поддерживается браузером.

0 голосов
/ 20 сентября 2019

Вы можете использовать ajax для вызова функции php и сохранения ее ответа.

$.ajax({url: "demo_test.txt", success: function(result){
$("#div1").html(result);
  }});

Убедитесь, что вы включили jquery CDN

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