当我使用google chrome登录时,我有以下php和ajax代码 ctrl+shift+I
在网络选项卡中,响应显示为 <{"response" : "2"}
但是这个响应不能分配给 <h3>
身份为respo的
我的php是
<<?php
$id = $_POST['reccount'];
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "testsite");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Attempt update query execution
$sql = "SELECT * FROM paper WHERE ID=$id";
if(mysqli_query($link, $sql)){
$result = mysqli_query($link, $sql);
while($row = mysqli_fetch_array($result)) {
$data['response']= $row['response'];
$data['ansnum'] = $row['q_no'];
}
echo json_encode($data);
} else {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
而ajax是
$.ajax({
type:"POST",
url:"<?php echo base_url();?>/shortfiles/loadans.php",
data: {reccount: reccount},
dataType:"JSON",
success: function(data){
alert (data.response);
$('#respond').text(data.response);
}
}) ;
html是
<h3 ID="respond"style="margin-left:30px;">response</h3>
1条答案
按热度按时间q7solyqu1#
如果php的响应是:
这将是一个格式不正确的json字符串。这将由额外的
<
在文档的开头有一个。我建议您使用以下php开场白:这将纠正问题,使json响应为:
此时将正确解析。
例子
在我的示例中,我将post数据转换为整数,以帮助确保恶意用户不会发送除数字以外的任何内容。我也只发送json数据,即使在发送错误时也是如此。使用
header()
帮助定义浏览器的数据。希望有帮助。