【发布时间】:2015-05-30 11:07:51
【问题描述】:
我有一个 jQuery ajax 调用来使用 php 脚本更新我的数据库。
这是我打的电话:
$.ajax({
url: "update.php",
type: 'POST',
dataType: 'jsonp',
data: {key1: value1, key2: value2},
cache: false,
error: function() {
$("#failUpload").removeClass("hide");
},
success: function(data) {
$("#succesUpload").removeClass("hide");
setTimeout(function() {
$("#succesUpload").addClass("hide");
}, 5000);
}
});
PHP 更新部分:
$key1 = $_POST["key1"];
$key2 = $_POST["key2"];
$con=mysqli_connect("localhost","username","password","dbname");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "UPDATE TabelName SET ". $key2 ." ='". $key1 ."' WHERE id=1";
if ($result = mysqli_query($con, $sql)) {
$resultArray = array();
$tempArray = array();
while ($row = $result->fetch_object()) {
$tempArray = $row;
array_push($resultArray, $tempArray);
}
}
mysqli_close($con);
数据库更新并且可以正常工作,但在 console.log 中我收到以下错误消息:POST http://domainname.com/file.php?callback=jQuery2110765103816287592_1432976576289 500 (Internal Server Error)
当我打开它时,我发现:
_.ajaxTransport.Y.cors.a.crossDomain.send @ jquery.js:26
我已经搜索并找到了关于跨域调用的东西,你必须使用 jsonp 等,但它没有成功。谢谢!
【问题讨论】:
-
您将 JSONP 用于本地请求是否有特定原因?尝试使用
dataType: 'json'。虽然,这似乎是多余的,因为您的 PHP 代码似乎没有在响应中返回任何数据。 -
你关闭你的ajax了吗???
-
我从 json 开始,但这给了我同样的错误......然后我找到了跨域 ajax 帖子,上面写着要使用 jsonp 但同样的错误......
-
ajax 已关闭但没有问题我会编辑它!
-
500 错误到底是什么?这似乎表明您的 PHP 代码存在问题。