我尝试从js文件到php调用POST。我需要这个在mySQL数据库中添加变量。
有我的简单文件:
1°PHP文件,用于发送呼叫
<html>
<head>
<script src="../js/jquery.js"></script>
<script src="../js/ajax-call.js"></script>
</head>
<body></body>
</html>
文件js
$(document).ready(function () {
$.ajax({
url: 'http://localhost/json/html/j.php',
contentType: 'application/json',
dataType: 'json',
type: 'post',
data: {
"variable":"foo"
},
success: function () {
console.log("ok");
},
error: function () {
console.log("error");
}
});
});
接收者的PHP代码:
<?php
function connect(){
$connect = mysql_connect('127.0.0.1','root','') or die("ERROR");
$connect2Database = mysql_select_db('ajax', $connect);
return $connect;
}
if(isset($_POST)){
if($connect = connect()){
$query = "INSERT INTO `table`(`name`) VALUES ('".$_POST['variable']."');";
$completeQuery = mysql_query($query, $connect);
}
}
?>
变量$ _POST ['variable']未定义。我尝试使用一个简单的字符串来清理$ _POST ['variable']并将其添加到数据库中。
答案 0 :(得分:0)
将contentType
设置为'application/json'
时,会将原始JSON字符串发送到服务器。相反,您应该删除该部分并定期执行POST
。
$.ajax({
url: 'http://localhost/json/html/j.php',
type: 'post',
data: {
"variable":"foo"
},
success: function () {
console.log("ok");
},
error: function () {
console.log("error");
}
});