我尝试了一切可用的在线但我仍然在AJAX请求上收到错误。尝试使用XMLHttpRequest()请求,但无法解决问题。
这是我的Ajax请求
$.ajax({
type: "POST",
url: "ajaxsubmit.php",
data: {
content: post_data
},
cache: false,
success: function(result){
alert("The Data have been Entered.");
}
});
这是我的 ajaxsubmit.php
<?php
session_start();
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "dataentry";
$content = $_POST['content'];
$tb_name = "pdf".$content[10];
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "CREATE TABLE IF NOT EXISTS $tb_name (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
APNR TEXT, APDA TEXT, TMNM TEXT, TMTY TEXT,OWNN TEXT,OWNA TEXT,
OWNC TEXT,CORN TEXT,CLAS TEXT,DES TEXT, ENTRY_TYPE TEXT, LOGO_SRC TEXT
)";
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$sql="insert into $tb_name (APNR, APDA, TMNM, TMTY,
OWNN,OWNA,OWNC,CORN,CLAS,DES,ENTRY_TYPE,LOGO_SRC) values ('$content
[0]', '$content[1]', '$content[2]','$content[3]','$content[4]','$content
[5]','$content[6]','$content[7]','$content[8]','$content[9]','$content
[11]','$content[12]')";
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>
我尝试了 XMLHttpRequest()这样,
JS PART var http = new XMLHttpRequest();
var url = "ajaxsubmit.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state
changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
请将您的最佳建议作为解决方案。
答案 0 :(得分:1)
确保在mysql数据库上启用了远程访问。
答案 1 :(得分:0)
在黑暗中拍摄,但请尝试删除
cache: false,
之前它对我有用。不知道为什么。
答案 2 :(得分:0)
我不认为这与客户端有关,请检查您的服务器并确保您的Web服务器(基于CentOS / RH / Fedora的httpd或基于Ubuntu / Debian的发行版上的www-data)有权使用访问应用程序文件夹,您可以做的一件事就是进入应用程序文件夹并运行chmod
例如
cd /path/to/app/dir && chmod 777 . -R
chmod 777是一个不好的做法,所以只用它来调试这种情况!
再次测试,如果它有效,那么它确实存在文件访问权限问题,您需要调整应用程序文件夹的所有者和组访问权限,例如在CentOS上
chown myuser:httpd /app/dir -R
将myuser
更改为您自己的用户名,这应该更改文件权限,然后修复访问位
cd /app/dir
find . -type d -exec chmod -c 775 '{}' \;
find . -type f -exec chmod -c 664 '{}' \;
这将更改拥有对文件进行R / W访问的所有者和组的权限,并且每个人都只具有读取权限。