所以我有这个jquery代码:
$(function(){
var url = 'template/traitComTest.php';
window.onload = function(e) {
// $(".formCom").ajaxForm({url: 'template/traitComTest.php', type: 'post'});
$.ajax({
type: "POST",
url: url,
data: $( ".formCom").serializeArray(),
success: function(reponse){
console.log(reponse);
}
});
}
});
使用这个PHP代码:
if (isset($_REQUEST)) {
$adresse = $_POST['adresse'];
$com = $_POST['commentaire'];
$sql = $bdd->prepare('UPDATE tempSelector_template SET commentaire= :com WHERE exemple = :exem ');
$sql->execute(array(
":com" => $com,
":exem" => $adresse
));
$myData1 = array('result' => $sql);
echo json_encode($myData1);
$sql->closeCursor();
$sqlSelect = $bdd->prepare("SELECT commentaire FROM tempSelector_template WHERE exemple= :exemp");
$sqlSelect->execute(array(
":exemp" => $adresse
));
$myData = array('result1' => $sqlSelect);
echo json_encode($myData);
}
我从ajax获得了关于chrome' console =>
{"result":{"queryString":"UPDATE tempSelector_template SET commentaire= :com WHERE exemple = :exem "}}{"result1":{"queryString":"SELECT commentaire FROM tempSelector_template WHERE exemple= :exemp"}}
我的问题是我无法访问json中的数据并需要你的帮助
答案 0 :(得分:1)
你有两个问题:
你没有解析你在javascript中找到的json。当你返回有效的json(参见1.)时,你可以在你的ajax调用中添加dataType: 'json'
让jQuery自动解析响应:
$.ajax({
type: "POST",
dataType: 'json',
url: url,
// etc.
答案 1 :(得分:1)
好的,所以你基本上会返回两组独立的json编码。它不起作用。你只能在阅读ajax时接受一套json。不是两个。在您的PHP脚本中,我看到您已包含以下部分。
$myData1 = array('result' => $sql);
echo json_encode($myData1);
和
$myData = array('result1' => $sqlSelect);
echo json_encode($myData);
你应该删除这两个部分,并使用array_merge
将它们组合成一个单独的数组$myData1 = array('result' => $sql);
$myData = array('result1' => $sqlSelect);
echo json_encode(array_merge(myData1, $myData));
也在你的ajax请求中,将dataType设置为json
$.ajax({
type: "POST",
url: url,
dataType: 'json',
data: $(".formCom").serializeArray(),
success: function(reponse){
console.log(reponse);
});
答案 2 :(得分:0)
所以你有一个表格,你想提交,ajax将在提交表格后返回一些数据。如果您想访问响应数据。你需要添加这些东西
1。)在$ .ajax对象中添加type = 'post'
2.)并使用JSON.parse(response)