Php Ajax获取响应未定义且未捕获引用错误
代码: 我在数据中没有定义,当我从服务器端返回“valid_user”(用php制作)时,出现了错误Php Ajax获取响应未定义且未捕获引用错误,php,jquery,Php,Jquery,代码: 我在数据中没有定义,当我从服务器端返回“valid_user”(用php制作)时,出现了错误 query = "http://localhost:8080/working_login.php?name=" + name + "&password=" + pass; console.log(query); $.ajax({ type: "GET", url: query, dataType: "script", success: function(dat
query = "http://localhost:8080/working_login.php?name=" + name + "&password=" + pass;
console.log(query);
$.ajax({
type: "GET",
url: query,
dataType: "script",
success: function(data){
console.log(data);
console.log("success");
},
error:function (msg) {
console.log("error on page");
}
});
Php服务器端代码:
Uncaught ReferenceError: valid_user is not defined
(anonymous function)
在jQueryAjax请求中使用脚本数据类型时,返回的结果被解释为javascript代码,但返回纯文本
只需将
dataType:“script”
更改为dataType:“text”
在jquery ajax请求中使用脚本数据类型时,返回的结果将解释为javascript代码,但返回纯文本
只需将
dataType:“script”
更改为dataType:“text”
您可能并不想告诉jQuery您希望得到一个脚本作为回报。返回的脚本格式不正确,因此当浏览器将其解析为脚本时会出现错误
您可以只执行以下操作:
$sql = "SELECT id FROM users WHERE name ='$name' AND password = '$password';";
$result = mysql_query($sql) or die('Can not Register user' . $sql );
$rows = mysql_num_rows($result);
if($rows > 0)
{
echo("valid_user");
exit();
}
else
{exit("not valid user");}
您可能不是有意告诉jQuery您希望得到一个脚本作为回报。返回的脚本格式不正确,因此当浏览器将其解析为脚本时会出现错误 您可以只执行以下操作:
$sql = "SELECT id FROM users WHERE name ='$name' AND password = '$password';";
$result = mysql_query($sql) or die('Can not Register user' . $sql );
$rows = mysql_num_rows($result);
if($rows > 0)
{
echo("valid_user");
exit();
}
else
{exit("not valid user");}
如果没有返回有效的脚本,为什么要使用
脚本
数据类型?@DCoder那么我应该使用什么?当我使用脚本时,它会成功,否则会在第页出错。显示服务器返回的内容我通常返回一个JSON对象,该对象带有指示成功或错误的status
属性,以及所需的任何额外数据。@dcorder我已经为服务器端添加了代码为什么要使用script
数据类型,如果您没有返回有效的脚本?@DCoder那么我应该使用什么?当我使用脚本时,它会成功,否则会在第页出错。显示服务器发送回的内容我通常返回一个JSON对象,该对象带有一个状态属性,指示成功或错误,以及所需的任何额外数据。@d为了我已经为服务器端添加了代码哦,当然,忘了还有一个文本类型。。。更新answer@AndreasLinden好的,让我再次检查。如果它不起作用,只需从ajax请求中删除数据类型。然后它将自动确定最佳拟合类型。是的,XMLHttpRequest无法加载。访问控制允许原点不允许原点为null。第页出错这是防止跨站点脚本编写。您只能在同一域上请求ajax目标。可能会将查询更改为/working\u login.php?name=kamil&password=abc。
哦,当然,忘了还有一个文本类型。。。更新answer@AndreasLinden好的,让我再次检查。如果它不起作用,只需从ajax请求中删除数据类型。然后它将自动确定最佳拟合类型。是的,XMLHttpRequest无法加载。访问控制允许原点不允许原点为null。第页出错这是防止跨站点脚本编写。您只能在同一域上请求ajax目标。可能会将查询更改为/working\u login.php?name=kamil&password=abc。