javascript — ответ 406 с запросом $ .post jQuery для внешнего переполнения стека

Я пытаюсь опубликовать большое количество текста через $.post в jQuery и получить ответ 406. Он отлично работает под 300 символов. Ниже мой код:

index.php

HTML

<form class="formss" action="index.php">
<textarea id="submittts" name="tts" spellcheck="false"></textarea>
</form>

JQuery

$('.save').click(function() {
$.post('store.php', $('.formss').serialize())
});

store.php

<?php
$tts = $_POST['tts'];
$texttostore = $tts;

$servername = "localhost";
$username = "xxx";
$password = "xxx";
$dbname = "notes";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO notes (code)
VALUES ('$texttostore')";

if ($conn->query($sql) === TRUE) {
echo stripslashes(str_replace('\r\n',PHP_EOL,$texttostore));
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

.Htaccess

<IfModule mod_security.c>
SecFilterCheckURLEncoding Off
</IfModule>

Получение следующего ответа:
http://i.stack.imgur.com/MUZpX.png

Также пытались с локальной формой отправки, но это также вызвало бы неправильный запрос.

Замечания: Все пробелы и форматирование сохраняются при сохранении, и это преднамеренно

Если бы кто-нибудь мог мне помочь, это было бы здорово, спасибо 🙂

0

Решение

Веб-браузеры делают запрос информации с сервера. Когда это происходит, он отправляет Accept заголовок. Это сообщает серверу, в каких форматах браузер может принимать данные. Если сервер не может отправить данные в формате, указанном в Accept заголовок, сервер отправляет 406 Not Acceptable error,

На скриншоте, прикрепленном в комментариях, вы можете четко видеть, что charset в заголовках ответа iso-8859-1, Просто отправьте ответ в UTF-8 кодирование и это должно решить проблему.

Посмотри на это ТАК ссылка для установки заголовка charset в ответе PHP.

1

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

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

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