Я занимаюсь этим практически весь день, но не могу понять, как работают xmlhttprequests.Как отправить изображения вместе с другими данными с помощью xmlhttprequest?
Я могу отправить строки и вещи в одну сторону, и я могу отправлять файлы изображений другим способом, но я не могу понять, как отправить их обоих сразу.
Я попытался отправить данные изображения Url в виде строки, но в ней есть несколько «+», которые его разрывают. Это, как я узнал, отправить изображение (с холстом) таким образом, что работает, но я не знаю, как изменить его, чтобы принять более подробную информацию:
var xhr = new XMLHttpRequest();
xhr.open("POST", "uploadimg.php", false);
xhr.setRequestHeader("Content-Type", "application/upload");
xhr.send(canvas.toDataUrl());
и РНР:
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$received = $GLOBALS['HTTP_RAW_POST_DATA'];
$imageData = substr($received, strpos($received, ",")+1);
$unencodedData = base64_decode($imageData);
$fp = fopen("images/" . date("Y-m-d-G-i-s") . ".png", "wb");
fwrite($fp, $unencodedData);
fclose($fp);
}
Кроме того, я не знаю, как отправить несколько файлов, если я по какой-то причине захотел в будущем.
Я не могу найти хорошую информацию о том, как xmlhttprequests действительно работает, поэтому для большей части я не знаю, что я делаю, кроме копирования кода. Какой был бы лучший способ сделать это, или как мне его изменить?
http://mdn.beonex.com/en/DOM/XMLHttpRequest/Using_XMLHttpRequest.html https: //developer.mozilla .org/en-US/docs/Web/API/XMLHttpRequest – SLaks
@SLaks Это не очень для меня, потому что весь HTTP-запрос - это все ????? мне. Я понимаю javascript, и я в основном понимаю PHP, но я понятия не имею, как компьютер действительно отправляет и понимает передаваемые данные. – user3032989
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol – SLaks