Javascript — отправьте переменную Javascript в переполнение стека

Я хочу отправить значение переменной JavaScript (variableToSend) в переменную PHP ($ latLong), которая затем публикуется в MySQL. Переменная JavaScript захватывает значение текстового поля HTML вне формы, указанной ниже:

<input type="text" id="latLng" value="Working"/>

Значение текстового поля прекрасно передается в переменную Javascript (я проверил через оповещение со значением переменной):

<script language="JavaScript">
setTimeout(function(){
var variableToSend = document.getElementById("latLng").value;
$.post('html/index.php', {$latLong: "variableToSend"});
}, 10000);
</script>

Однако метод $ .post не запускается. Я думаю, что происходит одна из нескольких вещей. Во-первых, текстовое поле не было в форме, поэтому оно не передавалось переменной PHP. Я проверил это, бросив текстовое поле обратно в тег формы, но это не сработало. Во-вторых, метод $ .post написан неправильно. В-третьих, метод $ .post вообще не срабатывает после 10-секундного интервала. Я думаю, что это третий случай, но хотел бы получить какое-то направление, если это вообще возможно.

Любая помощь с благодарностью.

-3

Решение

Вы можете использовать QueryString, добавленный в скрипт. Другим лучшим вариантом будет использование объекта FormData.

Вот образец из MDN:

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to string "123456"
// HTML file input user's choice...
formData.append("userfile", fileInputElement.files[0]);

// JavaScript file-like object...
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]