Php Ajax获取响应未定义且未捕获引用错误

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

代码:

我在数据中没有定义,当我从服务器端返回“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(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。