我使用Aurelia和PHP作为后端。以下是我对其模型的看法:
home.html的
struct
home.js
<template>
<require from="datepicker.js"></require>
<form submit.delegate="submit()">
<input value.bind="name"></input>
<input value.bind="age"></input>
<button type="submit" name="submit">Submit
</button>
</form>
</template>
这是PHP脚本:
ses.php
import {inject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-fetch-client';
import 'fetch';
@inject(HttpClient)
export class Home {
name;
age;
constructor(http) {
this.http = http;
}
submit() {
this.jsonobj = {
'name': this.name,
'age': this.age
};
if (this.jsonobj.name && this.jsonobj.age) {
this.http.fetch('dist/components/ses.php', {
method: 'post',
body: JSON.stringify(this.jsonobj)
})
.then(response => response.json())
.then(data =>
{
console.log(data);
});
}
}
}
我希望在第一次调用脚本后,$ _SESSION [&#39;用户名&#39;]将被设置为&#39; kil&#39;。所以在下一个ajax帖子上!isset($ _ SESSION [&#39;用户名&#39;]不会评估为true但它确实意味着PHP会话无法正常工作。
答案 0 :(得分:4)
默认情况下,fetch
(构建aurelia-fetch-client的Web标准)不会发送cookie。您需要在请求init对象中使用credentials: 'include'
。
用于获取的两个很棒的资源:
代码:
this.http.fetch('dist/components/ses.php', {
credentials: 'include', // <-------------------------------------
method: 'post',
body: JSON.stringify(this.jsonobj)
})