DB에서 두 값을 전환하고 다시 jQuery로 반환하는 간단한 코드가 있으므로 apge를 새로 고침 할 필요없이 사용자를 위해 전환 할 수 있습니다.
것은 배열로 반환합니다. console.log는 배열 ok를 표시하지만 배열에서 데이터를 가져 오는 방법을 알지 못합니다. PHP로
반환 :
$data = array($id, $img1, $img2);
echo json_encode($data);
jQuery를이 :
$.post("bg_images_ajax.php", "switch=yes&id="+id).done(function(data){
$("#image-left-"+id).attr("src", "/images/backgrounds/"+data[1]).attr("alt", data[1]);
$("#image-right-"+id).attr("src", "/images/backgrounds/"+data[2]).attr("alt", data[2]);
console.log(data);
});
데이터는 [1] 거의 내가 아약스와 함께 일하는 모든 시간을 일했다, 그러나 여기 그것은 전체 반환 배열을 보이는 간단한 문자열 (데이터 [2]는 배열의 세 번째 문자 인을 반환합니다. [ "6", "blabla", "blalablala"]이 console.log에 의해 반환 됨).
["id" = "6", "img1" = "blabla", "img2" = "blalablala"]
그리고 내가 필요한 것을 얻을이를 사용하여 : :
나는 배열로 반환하도록 노력data.img1
을하지만 이것은 단지 undefined를 반환합니다.
jQuery.post에 대한 페이지를 확인했습니다. http://api.jquery.com/jquery.post/ 하지만 내가 뭘 잘못하고 있는지 알지 못해서 나는 장님이거나 너무 피곤합니다.
추신 : jQuery 코드에 대한 응답 형식을 시도했지만 작동하지 않았습니다. 정확히 어디에 배치 할 것인지, 여기에 표시된 것처럼 두 곳을 시도했습니다. 동시에).
$.post("bg_images_ajax.php", "switch=yes&id="+id, "json").done(function(data){
$("#image-left-"+id).attr("src", "/images/backgrounds/"+data[1]).attr("alt", data[1]);
$("#image-right-"+id).attr("src", "/images/backgrounds/"+data[2]).attr("alt", data[2]);
console.log(data);
}, "json");
@Quentin advice를 따라 PHP 코드 상단에'header ("Content-Type : application/json");을 추가하십시오. 효과가있을 것입니다. – invisal
나는 그랬지만 작동하지만, $ 기본 데이터 형식이 *** intelligent Guess ***는 반환 된 형식이 JSON인지 알아야한다. 그리고 당신이 그것을 바꿀 수 있어야한다는 것을 알지만 피 묻은 아이디어가 없어야 할 것입니다. ***. done (function ... ***.) PHP를 PHP와 jQuery로 사용하고 싶습니다. .... – MiChAeLoKGB
올바른 콘텐츠 유형을 제공하는 PHP 작업이라는 점을 제외하면 예를 들어'hello.php'와 같이 브라우저는 일반적인 HTML 형식인지, XML 형식인지, 이미지인지, PDF인지, zip 파일, json 등 ... 가능한 형식은 수 백만 가지입니다. 브라우저에보고있는 콘텐츠의 유형을 브라우저에 알리는 것은 PHP 작업입니다. – invisal