내 로컬 도메인에서 PHP 파일에 AJAX 호출을 만들고 있습니다. 요청에 성공 함수에 대한 데이터를 반환하지 않으므로 문제가 발생했습니다.빈 데이터 집합을 반환하는 AJAX 요청
은 내가 DB로가는 데이터를 게시하는 형태를 직렬화하고있다. 이 작업을 정상적으로 수행 할 수 있으며 데이터베이스에 쓰고 있습니다. 내가 성공 함수의 데이터 부분에 표시 할 에코 문을 얻을 때
문제
입니다.경고를 사용했지만 아무 것도 경고하지 않습니다. 나는 CONSOLE.LOG을 시도하고 그것은 단지 보여줍니다
은 내가 PDO 기능에 mysql_로 함수로 전환하기 전에 작업을했다. 이제는 아무 것도 반환하지 않습니다. 나는 주변을 둘러 보았고 this link in particular 그리고 여전히 작동하지 않습니다.
이것은 내가 아약스 POST 요청에있는 것입니다 :
var formstuff = $('#person-data').serialize();
$.ajax(
{
url: 'insert.php',
type: "POST",
dataType: 'text',
data: formstuff,
success:
function(data)
{
console.log(data);
alert(data);
$('#info').hide();
$('#info').html('');
$('#info').append(data);
$('#info').fadeIn(1500);
$("#person-data")[0].reset();
$('#username').css({'border': '1px solid #000', 'background-color': '#FFF', 'color': '#000'});
$('#username').css('background-image', 'url(images/txtbox/id.png)');
}
});
나는 콘솔에 게시 된 헤더를 확인하고이 양식 필드에 입력 무엇 게시됩니다. 이 단지 성공 함수에 반환되지 않는
echo 'ID: '.$idp.' Lastname: '.$ln.' First Name: '.$fn.' added to the database';
:
이
내가 성공 함수에 반환하려는 것을 가지고 에코입니다. 나는 try ... catch를 사용하지 않고 이것을 시도했다. 나는 그것을 시도하고 아무것도 안에 넣었다. catch 오류가 있어야하므로 함수에 다시 전송됩니다.가 나는 시도하기 전에 뭔가를 에코하려고 노력하고 캐치 외부와 시도하기 전에 에코, 성공 기능에 내가 필요로 그냥 데이터를 출력한다. 그 작동하는지 문을 볼 경우
는 또한 시도 그것은 아무것도 표시되지 않습니다.
내가 난처한 상황에 빠진 내가 얻을 수있는 몇 가지 포인터가 있다면 그냥 궁금하고있다.
TIA
편집
PDO 정보 :
try
{
$sqlp = $conn->prepare("INSERT INTO ".PERSON." (lastname, firstname, dob, adbkid) VALUES(:ln, :fn, :dob, :unp)");
$sqla = $conn->prepare("INSERT INTO ".ADDRESS." (address1, address2, town, county, postcode, country, lat, lng, personID) VALUES (:a1, :a2, :town, :county, :pc, :country, :lat, :lng, :una)");
$sqlc = $conn->prepare("INSERT INTO ".CONTACT." (landline, mobile, email1, email2, personID) VALUES (:lp, :mp, :e1, :e2, :unc)");
$sqlm = $conn->prepare("INSERT INTO ".MISC." (web, notes, photo, fbid, twitter, cat, personID) VALUES (:web, :notes, :pic, :fb, :tw, :cat, :unm)");
$sqlv = $conn->prepare("INSERT INTO ".VARI." (Time, Date, ipaddress, browser, os, personID) VALUES (:it, :idate, :iip, :ib, :ios, :unv)");
$sqlp->bindValue(':ln', $ln);
$sqlp->bindValue(':fn', $fn);
$sqlp->bindValue(':dob', $dob);
$sqlp->bindValue(':unp', $un);
$sqla->bindValue(':a1', $a1);
$sqla->bindValue(':a2', $a2);
$sqla->bindValue(':town', $town);
$sqla->bindValue(':county', $county);
$sqla->bindValue(':pc', $pc);
$sqla->bindValue(':country', $country);
$sqla->bindValue(':lat', $lat);
$sqla->bindValue(':lng', $lng);
$sqla->bindValue(':una', $un);
$sqlc->bindValue(':lp', $lp);
$sqlc->bindValue(':mp', $mp);
$sqlc->bindValue(':e1', $e1);
$sqlc->bindValue(':e2', $e2);
$sqlc->bindValue(':unc', $un);
$sqlm->bindValue(':web', $web);
$sqlm->bindValue(':notes', $notes);
$sqlm->bindValue(':pic', $pic);
$sqlm->bindValue(':fb', $fb);
$sqlm->bindValue(':tw', $tw);
$sqlm->bindValue(':cat', $cat);
$sqlm->bindValue(':unm', $un);
$sqlv->bindValue(':it', $it);
$sqlv->bindValue(':idate', $idate);
$sqlv->bindValue(':iip', $iip);
$sqlv->bindValue(':ib', $ib);
$sqlv->bindValue(':ios', $ios);
$sqlv->bindValue(':unv', $un);
$sqlp->execute();
$sqla->execute();
$sqlc->execute();
$sqlm->execute();
$sqlv->execute();
$idp = $sqlp->lastInsertId();
$ida = $sqla->lastInsertId();
$idc = $sqlc->lastInsertId();
$idm = $sqlm->lastInsertId();
$idv = $sqlv->lastInsertId();
echo $idp.' '.$ln.' '.$fn.' added';
}
catch (PDOException $e)
{
print '<div class="sqlerror">'.$e->getMessage().'</div>';
}
이 반환 무엇이며 응답이
입니다 MySQL을 사용하여 파일에 표시됩니다 PDO를 사용할 때 반환되는 내용 - 데이터가없고 n O 응답이
하는 경우를 mysql_ *에서 PDO로 마이그레이션하는 중에 문제가 발생했습니다. PDO 코드를 공유 할 수 있습니까? –
브라우저의 dev 도구의 네트워크 탭에서 다시 돌아 오는 것이 있는지 확인해 보았습니까? 서버 쪽을 바꿔서 지금 작동하지 않는다면 거기에서 시작할 것입니다. – MrOBrian
나는 무엇이 돌아 왔는지를보기 위해 콘솔을보고 있었고 200 개의 성공을 가진 PHP 파일의 이름이 전부였다. 이것이 내가 console.log()를 작성한 이유이며 빈 데이터 문자열 메시지를 보여 주었다. 변경된 유일한 것은 mysql에서 PDO로 전환하는 것입니다. 난 그냥 PDO를 시도한 다음 mysql을 시도하고 나는 하나의 응답에서 PDO가 아닌 하나의 응답을 얻는다. 원래 질문에 스크린 샷을 추가하겠습니다. – Chris