我有一个简单的Jquery代码,它对php代码进行ajax调用。
(文档)$。就绪(函数(){
<?php
$dsn = 'mysql:dbname=library;host=localhost';
// 'mysql:host=localhost;dbname=myDatabase'
$username = 'root';
$password = 'maddie';
$isbnValue = $_GET["isbn"];
try {
$db = new PDO($dsn, $username, $password); // also allows an extra parameter of configuration
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$isbn = $db->quote($isbnValue);
$rows = $db->query("SELECT isbn, title FROM book WHERE isbn = $isbn");
$names = array();
foreach ($rows as $row) {
$names[] = array($row['isbn'], $row['title']);
}
print json_encode($names);
} catch(PDOException $e) {
die('Could not connect to the database:<br/>' . $e);
}
?>
});
我的PhP代码连接到数据库并根据查询字符串获取数据。这是我的PhP代码。
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ");
}
return 0;
当我从jQuery执行时,我得到以下错误对象作为响应 对象{readyState:0,responseText:“”,状态:0,statusText:“错误”}
如果我直接使用URL调用php代码 - http://localhost/LibraryManagement/php/getBooks.php?isbn=970880812
我得到了json对象作为结果。我不确定错误在哪里。任何帮助都会有所帮助。提前谢谢。
答案 0 :(得分:1)
您提供的代码似乎有效。我甚至用jQuery 1.12.1在本地测试它并且完全没有问题。
您收到的错误表示ajax呼叫在完成之前被中断。有很多事情可以导致这种情况。最常见的包括跨域问题以及与您的ajax调用一起使用链接或表单操作。
有关详细信息,请参阅以下文章:
http://www.justinball.com/2013/02/25/jqxhr-returning-readystate-0-and-status-0/
快速谷歌搜索:
{readyState:0,responseText:&#34;&#34;,status:0,statusText:&#34; error&#34;}
将揭示可能发生的其他一些情况。
希望这会有所帮助;)