我正在创建一个简单的应用程序,它将日志数据插入到数据库表中。
使用 jQuery Ajax POST 方法和 JSON 格式的数据。
我的 index.php 有 HTML 和这段代码:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.ajax({
type: "POST",
url: "http://www.example.com/ajax_model.php",
data: {
"log_session": "27738d7552b75ae395ae1138adf4fa60",
"log_ip": "1.2.3.4",
"log_vrijeme": "2018-11-23 01:22:47",
"log_model": "12345"
},
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function(response) {
console.log(response);
alert(response);
},
error: function(error) {
console.log(error);
}
});
});
</script>
我的 ajax_model.php - 它给我响应 Array[]
instad 发送的数据:
<?php
if(isset($_POST)){
header('Content-Type: application/json');
echo json_encode($_POST);
exit;
}
?>
我在 console.log()
和 alert()
- Array[]
中得到结果。
如何输出已发送的响应以检查数据是否通过 Ajax 正确发送?
我是否遗漏了一些括号,例如 []
或 {}
?
还是我需要向我的 ajax_model.php 文件中添加一些内容?
感谢您的建议和提供的信息。
最佳答案
您没有发送 JSON,所以去掉:
contentType: 'application/json; charset=utf-8',
这将导致 $_POST 为空,因为默认的 contentType
是:
application/x-www-form-urlencoded; charset=UTF-8
关于javascript - 带有响应数组 [] 的 jQuery Ajax PHP POST 方法已发送数据。如何获得响应中的发送值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53439409/