2017-08-25 1 views
0

Ich habe eine Aufgabe, die über Ajax Post-Daten ist und fragen Sie auch das Skript, um Daten anzuzeigen ... Ich habe 3 Dateien .. HTML-Datei führen Sie eine Ajax auf das PHP-Skript, Passwrapper .php und dann das andere Skript, um alle Daten im JSON-Format auf der console.log in der HTML-Datei zu zeigen. Ich habe einige Ajax-Post-Werte wie 'Abdullahlahlahla' und 'Muslim' implementiert, so dass die passwrapper.php erhalten diese Daten und echo auf der Konsole getrennt von den ganzen Daten ... Entwickler sagte Ajax kann nicht Echo 2 mal ...... Ist es total unmöglich ???? Wenn es keine Möglichkeit gibt, bitte sagen Sie mir andere Optionen ... Anforderung: Bitte ändern Sie nicht die Student.php, wie ich möchte, dass das PHP-Skript alle Daten in JSON Echo .. Ändern Sie die Paswrapper.php und HTML-Datei ..Anzeigen von Daten und gepostete Werte getrennt in Ajax Post

Wenn ich die HTML-Datei ausführen, stellt der Fehler

Status Code: 200 

ErrorThrown: SyntaxError: Unexpected token < in JSON at position 1634 

jqXHR.responseText: 

[{"student_id":"1","student_name":"Ashfur","student_gender":"F","student_age":"19","student_religion":"Muslim","student_course_id":"1"},{"student_id":"2","student_name":"Irfan","student_gender":"M","student_age":"17","student_religion":"Islam","student_course_id":"4"},{"student_id":"3","student_name":"Alice","student_gender":"F","student_age":"21","student_religion":"Chinese","student_course_id":"2"},{"student_id":"4","student_name":"Mohit","student_gender":"M","student_age":"20","student_religion":"Christian","student_course_id":"6"},{"student_id":"5","student_name":"Susy","student_gender":"F","student_age":"27","student_religion":"Chirstian","student_course_id":"5"},{"student_id":"6","student_name":"Ida","student_gender":"F","student_age":"23","student_religion":"Islam","student_course_id":"3"},{"student_id":"7","student_name":"Abdul","student_gender":"M","student_age":"22","student_religion":"Islam","student_course_id":"1"},{"student_id":"8","student_name":"Ernest","student_gender":"M","student_age":"25","student_religion":"Chinese","student_course_id":"4"},{"student_id":"9","student_name":"Wei Ling","student_gender":"F","student_age":"23","student_religion":"Chinese","student_course_id":"2"},{"student_id":"10","student_name":"Ashtae","student_gender":"M","student_age":"23","student_religion":"Islam","student_course_id":"4"},{"student_id":"11","student_name":"Jasmine","student_gender":"F","student_age":"23","student_religion":"Chinese","student_course_id":"2"},{"student_id":"65656","student_name":"yyyyty","student_gender":"F","student_age":"65","student_religion":"anything","student_course_id":"009090"}] 

Also there is the posted values on the console.log which states LastRowname = Abdullahlahlahlah LastRowReligion = Muslim 

HTML Datei

<html> 
<head> 
<script type="text/javascript" src="/Cesium-1.34/ThirdParty/jquery-1.11.3.min.js"></script> 
</head> 
<div id="results"</div> 
<div id="resulte"</div> 
<script type="text/javascript"> 
showData(); 
function showData() 
{ 
    $.ajax({ 
     type: "post", 
     url: "passwrapper.php", 
     dataType: "json", 
     data: { 
      lastName: 'Abdullahlahlahlah', 
      lastReligion: 'Muslim', 
     }, 
     success: function(data){ 
      console.log(data); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert('An error occurred... Look at the console (F12 or Ctrl+Shift+I, Console tab) for more information!'); 
      $('#resulte').html('<p>Status Code: '+jqXHR.status+'</p><p>ErrorThrown: ' + errorThrown + '</p><p>jqXHR.responseText:</p><div>'+jqXHR.responseText + '</div>'); 
      console.log('jqXHR:'); 
      console.log(jqXHR); 
      console.log('textStatus:'); 
      console.log(textStatus); 
      console.log('errorThrown:'); 
      console.log(errorThrown); 
     }, 

    }); 
}; 
</script> 
</body> 
</html> 

passwrapper.php

student.php

<?php 
function executePass() 
{ 

    $conn = mysqli_connect('localhost','root','netwitness') or die ("Could not connect database"); 
    $db = mysqli_select_db($conn,'abdpractice') or die ('Could not select database'); 

    $result = mysqli_query($conn,"select * from student"); 
    $json_array = array(); 
    while ($row = mysqli_fetch_assoc($result)) 
    { 
     $json_array[] = $row; 
    } 

    echo json_encode($json_array); 
} 
?> 

in meinem Netzwerk Registerkarte

[{"student_id":"1","student_name":"Ashfur","student_gender":"F","student_age":"19","student_religion":"Muslim","student_course_id":"1"},{"student_id":"2","student_name":"Irfan","student_gender":"M","student_age":"17","student_religion":"Islam","student_course_id":"4"},{"student_id":"3","student_name":"Alice","student_gender":"F","student_age":"21","student_religion":"Chinese","student_course_id":"2"},{"student_id":"4","student_name":"Mohit","student_gender":"M","student_age":"20","student_religion":"Christian","student_course_id":"6"},{"student_id":"5","student_name":"Susy","student_gender":"F","student_age":"27","student_religion":"Chirstian","student_course_id":"5"},{"student_id":"6","student_name":"Ida","student_gender":"F","student_age":"23","student_religion":"Islam","student_course_id":"3"},{"student_id":"7","student_name":"Abdul","student_gender":"M","student_age":"22","student_religion":"Islam","student_course_id":"1"},{"student_id":"8","student_name":"Ernest","student_gender":"M","student_age":"25","student_religion":"Chinese","student_course_id":"4"},{"student_id":"9","student_name":"Wei Ling","student_gender":"F","student_age":"23","student_religion":"Chinese","student_course_id":"2"},{"student_id":"10","student_name":"Ashtae","student_gender":"M","student_age":"23","student_religion":"Islam","student_course_id":"4"},{"student_id":"11","student_name":"Jasmine","student_gender":"F","student_age":"23","student_religion":"Chinese","student_course_id":"2"},{"student_id":"65656","student_name":"yyyyty","student_gender":"F","student_age":"65","student_religion":"anything","student_course_id":"009090"}]<script>console.log("LastRowname = Abdullahlahlahlah LastRowReligion = Muslim");</script> 

meine Forderung: ich alle Daten auf Echo möchten (mit Ausnahme der gebuchten Werte) auf der HTML-Datei. Ich möchte die geposteten Werte in der console.log anzeigen. es kann entweder in der passwrapper.php oder html Datei sein ..... Bitte helfen Sie mir ....

+0

es einige Zeit gewesen da ich 'if' Bedingungen in' php' verwendet habe, aber sho Ist dein 'und' Operator nicht' && '? Warum haben Sie zwei Elemente mit derselben ID? 'ID's sollte eindeutig sein, nicht sicher, ob das ein Kopier-/Einfügefehler ist ... – NewToJS

+0

@NewToJS, hallo gut beide sind gleich, auch wenn ich die Datei starte, gibt es einen Fehler, der oben gezeigt wird ... –

+0

Gibt es irgendwelche Lösungen ??? –

Antwort

0

Ajax kann nicht 2 mal Echo; 1.student.php

while ($row = mysqli_fetch_assoc($result)) 
{ 

    $json_array[] = $row; 
} 
//echo json_encode($json_array); 
return $json_array; 

2.passwrapper.php

<?php 

include 'student.php'; 

$data['student_arr']=executePass(); 
$data['post_str']=receivePost(); 
echo json_encode($data); 
function receivePost() 
{ 
    if ((!isset($_POST["lastName"])) and (!isset($_POST["lastReligion"]))) 
    { 
     //do nothing 
    } 
    else 
    { 
     $post_str= 'LastRowname = '.$_POST["lastName"].' LastRowReligion = '.$_POST["lastReligion"].''; 
     return $post_str; 
    } 
} 
?> 

3.html Datei

success: function(data){ 
    console.log(data.post_str); 
    $('#results').text(JSON.stringify(data.student_arr)); 
}, 
+0

Ich weiß, dass Ajax kann nicht Echo 2-mal .... Gibt es einen anderen Weg, wenn Sie nicht die json_array zurückgeben und stattdessen echo der json_encode json_array ...... Ist es möglich, die geposteten Werte auf dem Skript passwrapper.php statt der HTML-Datei zu wiederholen ??? –

+0

Wenn ich den json_encode json_array echo, können Sie die Ausgabe von dieser Funktion erfassen und zu den gebuchten Werten kombinieren und dann in der HTML-Datei trennen ??????????????? –

+0

Benutzermodus wie 'data.post_str'; –

0

passwapper.php

<?php 
include 'student.php'; 

ob_start(); 
executePass(); 
$string = ob_get_contents(); 
ob_end_clean(); 

$data['student_arr']=json_decode($string); 
$data['post_str']=receivePost(); 
echo json_encode($data); 
function receivePost() 
{ 
    if ((!isset($_POST["lastName"])) and (!isset($_POST["lastReligion"]))) 
    { 
     //do nothing 
    } 
    else 
    { 
     $post_str= 'LastRowname = '.$_POST["lastName"].' LastRowReligion = '.$_POST["lastReligion"].''; 
     return $post_str; 
    } 
} 
?>