const plateNumber = document.getElementById("plateNumber").value; const options = { method: "GET", url: "http://10.198.8.102:8081/TruckParkTime", params: { Token: "Parking53666", TruckNo: plateNumber }, headers: { "content-type": "application/json"}, }; axios .request(options) .then(function (response) { console.log(response.data); var data = JSON.parse(response.data); console.log(data.TruckNo); console.log(data.Intime); console.log(data.ParkTime); console.log(data.Money); showResult(data); }) .catch(function (error) { console.error(error); }); }代码如上,response.setHeader("Access-Control-Allow-Origin", "*");加在哪里
时间: 2024-04-25 14:26:01 浏览: 10
`response.setHeader("Access-Control-Allow-Origin", "*");`应该加在服务端响应中的代码中,而不是客户端的JavaScript代码中。
如果你使用的是Java开发的服务器,你可以在处理客户端请求的Servlet的`doGet`或`doPost`方法中添加以下代码:
```java
response.setHeader("Access-Control-Allow-Origin", "*");
```
其中,`response`是`HttpServletResponse`对象,用来设置响应头。
这样,当客户端发起跨域请求时,服务端就会在响应头中添加`Access-Control-Allow-Origin: *`,从而允许客户端跨域访问。
相关问题
const plateNumber = document.getElementById("plateNumber").value; const options = { method: "GET", url: "http://10.198.8.102:8081/TruckParkTime", params: { Token: "Parking66", TruckNo: plateNumber }, headers: { "content-type": "application/json",'Origin':'http://localhost:8080'}, };有问题吗
这段代码看起来没有问题,但是需要注意以下几点:
1. `url` 属性中的 IP 地址 "http://10.198.8.102:8081" 是否正确,是否可以被访问到。
2. `params` 属性中的 Token 和 TruckNo 参数是否正确,是否符合接口的要求。
3. `headers` 属性中的 "content-type" 和 "Origin" 头部是否正确,是否符合接口的要求。
如果以上几点都正确,那么这段代码就可以正常工作了。请注意,在生产环境中建议更加谨慎地设置 "Origin" 头部,以确保安全性。如果你想允许任何来源的请求访问你的资源,可以将该头部的值设置为 "*"。
function getPlateNumber() { const plateNumber = document.getElementById("plateNumber").value; const queryString = 'Token=Parking20230103163153666&TruckNo=${plateNumber}'; const url = 'http://10.198.8.102:8081/TruckParkTime?${queryString}'; const options = { method: "GET", url: url, headers: { "content-type": "application/json" }, }; axios .request(options) .then(function (response) { console.log(response.data); var data = JSON.parse(response.data); console.log(data.TruckNo); console.log(data.Intime); console.log(data.ParkTime); console.log(data.Money); showResult(data); }) .catch(function (error) { console.error(error); }); } function showResult(data) { const resultDiv = document.getElementById("result"); resultDiv.textContent = "车牌:"+ data.TruckNo + "进场时间:"+ data.Intime+", 停车时长:" + data.ParkTime+", 产生金额:" + data.Money; }哪里有问题
代码中存在两个问题:
1. 变量 `queryString` 中的模板字符串使用了单引号,应该使用反引号(即模板字符串的开头和结尾应该是 \`,而不是 ')。
2. 变量 `url` 中的模板字符串使用了单引号,应该使用反引号,并且应该使用 `${}` 将变量 `queryString` 的值嵌入到字符串中。
因此,代码应该修改为:
```javascript
function getPlateNumber() {
const plateNumber = document.getElementById("plateNumber").value;
const queryString = `Token=Parking20230103163153666&TruckNo=${plateNumber}`;
const url = `http://10.198.8.102:8081/TruckParkTime?${queryString}`;
const options = {
method: "GET",
url: url,
headers: { "content-type": "application/json" },
};
axios
.request(options)
.then(function (response) {
console.log(response.data);
var data = JSON.parse(response.data);
console.log(data.TruckNo);
console.log(data.Intime);
console.log(data.ParkTime);
console.log(data.Money);
showResult(data);
})
.catch(function (error) {
console.error(error);
});
}
function showResult(data) {
const resultDiv = document.getElementById("result");
resultDiv.textContent =
"车牌:" +
data.TruckNo +
"进场时间:" +
data.Intime +
",停车时长:" +
data.ParkTime +
",产生金额:" +
data.Money;
}
```
这样修改之后,应该就可以正确地发送 GET 请求,获取到相应的数据了。