Прежде всего, я знаю, что есть гораздо лучшие способы для достижения этого, но это школьный проект, поэтому у меня нет выбора, кроме как сделать это, как хотят наши учителя ...
У нас есть виртуальная машина (Ubuntu 16.04), на которой работает сервер WordPress. На этой же виртуальной машине также работает веб-приложение ASP.NET.Core.
Обычно, когда кто-то заполняет форму на нашем веб-сайте WordPress, мы отправляем пользовательский ввод через AJAX на маршрут через наш веб-API (который затем отправляет сообщения RabbitMQ с данными, но это не важно).
Контроллер веб-приложений:
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpPost("reservation")]
public int Create([FromBody]MyForm f)
{
//Send RabbitMQ messages with form data
}
}
AJAX-код в WordPress:
jQuery.ajax({
dataType: "json",
method: "post",
data: jQuery("#myForm").serialize(),
url: "http://localhost:65443/api/values/reservation",
succes: function()
{ console.log("Success"); }
});
Когда я запускаю веб-приложение с dotnet run
, оно говорит, что оно прослушивает localhost:65443
, и я могу прекрасно «взаимодействовать» с моим веб-API с помощью curl
commando.
Но отправка формы в WordPress регистрирует эту ошибку:
Failed to load resource: net::ERR_CONNECTION_REFUSED
.
Я не понимаю, WordPress работает на той же машине, что и веб-приложение, поэтому отправка AJAX-запроса на localhost:65443
должна работать нормально, как curl
commando: (
Любая помощь будет принята с благодарностью!