Angular 6和PHP语法错误:意外标记<;在JSON.parse(<;匿名>;)的位置0处的JSON中
我有以下PHP类:Angular 6和PHP语法错误:意外标记<;在JSON.parse(<;匿名>;)的位置0处的JSON中,php,json,angular,httpclient,angular6,Php,Json,Angular,Httpclient,Angular6,我有以下PHP类: <?php //header('Access-Control-Allow-Headers: *'); //header('Content-Type: application/json'); //header('Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS'); error_reporting(E_ALL); class api { private $us
<?php
//header('Access-Control-Allow-Headers: *');
//header('Content-Type: application/json');
//header('Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS');
error_reporting(E_ALL);
class api {
private $username ="root";
private $password ="...";
private $db="...";
private $host = "localhost";
public $conn;
//Connection
public function connection(){
try{
$this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->conn->exec("SET CHARACTER SET utf8");
return $this->conn;
}
catch(PDOException $e){
return $e->getMessage();
}
}
//Login
public function login($conn, $user){
$login = "SELECT username FROM login WHERE username=:user LIMIT 1";
$execLogin = $this->conn->prepare($login);
$execLogin->bindValue(":user", $user);
$execLogin->execute();
$res = $execLogin->rowCount();
return $res;
// if($res>0)
// {
// return json_encode($res);
// }
// else{
// echo 0;
// }
}
}
?>
下面是按钮html:
<a id="btn-login" (click)="login()" class="btn btn-success">Login </a>
错误:SyntaxError:JSON中位于位置0处的意外标记<
XMLHttpRequest.onLoad上的JSON.parse()
()在
ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask
()位于Object.onInvokeTask
()在
ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask
()在
Zone.push../node_modules/Zone.js/dist/Zone.js.Zone.runTask
()在
ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask
在invokeTask处[作为调用]()
()在
XMLHttpRequest.globalZoneAwareCallback
()留言:“出乎意料
标记<在JSON中的位置0“
下面是一个屏幕截图:
在网络选项卡中,我从login.php返回了一个错误:
注意:未定义索引:中的凭据
第8行的C:\wamp64\www\dev\scripts\login.php
如果你检查一下我的login.php,我已经对这一行进行了注释,所以我不知道为什么会给我这样一个错误。好的,我找到了解决方案:
我似乎应该添加以下标题:
headerOptions.append('Access-Control-Allow-Origin', '*');
headerOptions.append('Access-Control-Request-Headers', '*');
headerOptions.append('Content-Type', 'application/json');
headerOptions.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
在Apache中,我们应该转到Apache服务并检查每个模块的标题
然后,我们应该更改httpd.conf,并执行以下操作:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</IfModule>
标题集访问控制允许原点:*
好的,我找到了解决方案:
我似乎应该添加以下标题:
headerOptions.append('Access-Control-Allow-Origin', '*');
headerOptions.append('Access-Control-Request-Headers', '*');
headerOptions.append('Content-Type', 'application/json');
headerOptions.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS');
在Apache中,我们应该转到Apache服务并检查每个模块的标题
然后,我们应该更改httpd.conf,并执行以下操作:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</IfModule>
标题集访问控制允许原点:*
当我试图将一条字符串消息(如:res.send(“来自节点的消息”)
从节点发送到另一个节点时,出现了相同的错误
我刚刚将字符串更改为JSON格式,如{“msg”:“messagefrom node”}
,之后我得到了数据
我在添加这个res.setHeader('Content-Type','text/plain')
后尝试过,它在开始时返回了相同的错误 当我试图将一条字符串消息(如:res.send(“来自节点的消息”)
)从节点发送到节点时,出现了相同的错误
我刚刚将字符串更改为JSON格式,如{“msg”:“messagefrom node”}
,之后我得到了数据
我在添加这个res.setHeader('Content-Type','text/plain')
后尝试过,它在开始时返回了相同的错误 在网络中显示什么响应?login.php凭据第8行的错误未定义,但这一行已注释。那么它为什么要读它在map
中console.log
之后的map中的code>尝试了它并得到一个新错误错误TS2339:属性“json”在类型“HttpResponse”上不存在
网络中显示了什么响应?login.php凭据第8行的错误未定义,但这一行已注释。那么它为什么要读它在map
中,在console.log
之后执行code>操作。尝试该操作并获得新错误错误TS2339:类型“HttpResponse”上不存在属性“json”