我成功登录此站点,然后打开chrome dev工具并尝试执行以下操作,
$.post("https://www.example.co.uk/request/id",{ entity_id: "637" }, function(data, status){ console.log("entity_id: 637 Data: " + data + "\nStatus: " + status);});
$.post("https://www.example.co.uk/request/id",{ entity_id: "67" }, function(data, status){ console.log("entity_id: 67 Data: " + data + "\nStatus: " + status);});
$.post("https://www.example.co.uk/request/id",{ entity_id: "19920" }, function(data, status){ console.log("entity_id: 19920 Data: " + data + "\nStatus: " + status);});
我得到的回应是,
entity_id: 637 Data: {"code":700,"msg":"Example Entity Object"}
Status: success
VM130:3 entity_id: 67 Data: {"code":0,"msg":"Invalid Request."}
Status: success
VM130:2 entity_id: 19920 Data: {"code":0,"msg":"Invalid Request."}
Status: success
最初我认为这个网站并不支持并行帖子查询,但是当我逐一执行这些请求时,无论先收到每个请求的响应,我都不会收到无效请求。
我也试过Postman但是有一些身份验证问题,所以我不再使用它了。
答案 0 :(得分:1)
这可能是因为你的php在处理其他请求时不会监听请求。其他方法有两种方法可以解决您的问题:
按照以下方式减慢您的请求:
var i = 0;
$.post("https://www.example.co.uk/request/id", { entity_id: "637" }, function (data, status) { console.log("entity_id: 637 Data: " + data + "\nStatus: " + status); });
setTimeout(function () {
$.post("https://www.example.co.uk/request/id", { entity_id: "67" }, function (data, status) { console.log("entity_id: 67 Data: " + data + "\nStatus: " + status); });
}, i += 500);
setTimeout(function () {
$.post("https://www.example.co.uk/request/id", { entity_id: "19920" }, function (data, status) { console.log("entity_id: 19920 Data: " + data + "\nStatus: " + status); });
}, i += 500);
此外,您可以在多个服务器中尝试多个请求。服务器可能会正常响应,您可以检查javascript是否可以处理多个请求,但我认为是。