![](/img/trans.png)
[英]How to send an error response from php to a jQuery Ajax post request
[英]406 response with a $.post request jQuery to external PHP
我試圖通過$.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
也嘗試過使用本地表單提交,但這也會提出一個錯誤的請求。
注意:所有空白和格式在存儲時都會保留,這是有意的
如果有人可以幫助我,那就太好了,謝謝:)
Web瀏覽器從服務器請求信息。 發生這種情況時,它將發送一個Accept
標頭。 這告訴服務器瀏覽器可以接受哪種格式的數據。 如果服務器無法以Accept
標頭中請求的格式發送數據,則服務器將發送406 Not Acceptable error
。
從注釋中的屏幕截圖中,您可以清楚地看到響應頭中的charset
集是iso-8859-1
。 只需以UTF-8
編碼發送響應即可解決此問題。
看看這個用於在PHP響應中設置字符集標頭的SO鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.