Как я могу использовать JavaScript для отправки одностороннего сообщения на php? Я хотел бы получить информацию о браузере из javascript и просто отправить ее php в фоновом режиме. Я знаю, что могу получить часть этого от php, но я бы предпочел использовать javascript. Есть ли способ сделать это без фреймворка, как jquery?
4 ответа
Да, вы можете сделать это примерно так:
function xmlhttpPost(strURL) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// IE
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
alert('Here goes something');
self.xmlHttpReq.send('browser info here');
}
}
}
Это отправит «информацию браузера здесь» как POST на странице php, которую вы передаете функции как url. Я не проверял это хотя
// fix for older IE versions
// see http://blogs.msdn.com/b/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
if( typeof window.XMLHttpRequest === 'undefined' &&
typeof window.ActiveXObject === 'function') {
window.XMLHttpRequest = function() {
try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}
try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}
return new ActiveXObject('Microsoft.XMLHTTP');
};
}
function postData(url, data, errhandler) {
var req = new XMLHttpRequest;
req.onreadystatechange = function() {
if(this.readyState === 4 && this.status !== 200 && errhandler)
errhandler(this);
};
try {
req.open('POST', url, true); // async post request
req.send(data);
}
catch(e) {
if(errhandler)
errhandler(req);
}
}
Вам нужно сделать AJAX-вызов на страницу PHP, желательно используя POST. Любые данные, которые вы хотите отправить, должны быть отправлены вместе с запросом.
Я рекомендую использовать такую среду, как jQuery, но если вы настаиваете на использовании необработанного JavaScript, вы хотите исследовать XMLHttpRequest.
Вы должны будете отправить запрос AJAX в скрипт PHP. Да, вы можете сделать это без использования фреймворка, но я бы не советовал.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.