如何使用javascript发出post请求
Posted
技术标签:
【中文标题】如何使用javascript发出post请求【英文标题】:How to make post request using javascript 【发布时间】:2016-08-25 00:41:23 【问题描述】:我正在尝试在 javascript 中发出 POST
请求。但没有得到回应。
http://xecutehr.com/api/HRMSService.svc/PostAttendance?input="Header":"CompanyId":"MTF","LicenceKey":"MTF-4525","Body":"E_Code":"01330","AttendanceDateTime":"2016-04-27T13:00:30","Mode":"I","DeviceId":"MTF1330"
这是url格式,这是我写的代码:
if(valid)
var values = form.serializeObject();
var e_code = values.staff_code.substring(3);
var device_id = values.staff_code;
var date_time = datetime;
var url = "http://xecutehr.com/api/HRMSService.svc/PostAttendance?input=";
$.ajax(
url:url,
headers:
"CompanyId":"MTF",
"LicenceKey":"MTF-160427-RHGB-4525"
,
type: "POST",
data:
"E_Code":"0"+e_code,
"AttendanceDateTime":date_time,
"Mode":"I",
"DeviceId":device_id
,
datatype: "jsonp",
success: function(data)
alert(response);
);
我尝试了很多,但在 .我该如何处理?提出一些解决方案或链接
【问题讨论】:
您尝试访问的端点不是同一个域的一部分,被视为跨域请求。看看这个***.com/questions/298745/… @Uzbekjon 这个端点是什么意思。我对此很陌生。有什么解决方案吗?我正在检查那个链接。 该端点是否旨在与 javascript 客户端调用集成?它要么需要配置 CORS 以允许适当的跨域访问,要么它们可能具有服务器 jsonp 响应的能力。如果没有其中一个,您的请求将永远不会成功。 【参考方案1】:您不能拥有jsonp
并进行 POST。
jsonp 请求加载为<script>
。
例如
request: /url?callback=something&E_Code=0something
响应将类似于:
something(E_Code: '0something')
something()
是您的 ajax 响应处理程序。
【讨论】:
首先感谢您的有效回复。我对此很陌生。我花了 1 天时间让他赚了很多钱。如果可以的话,请检查我的代码并建议所有需要的更改,并用简单的语言解释。 关注@Susanth 的链接。如果 xecutehr.com 的 CORS(跨域资源共享)设置允许访问,请按照所述链接中的第 2 点进行操作。如果他们不这样做,设置,出于安全原因,您不能向他们发布,因为它是不同的域。如果你走这条路,你几乎无能为力。如果您需要 POST,应该依靠<form>
而不是 JavaScript 来完成,请参阅:***.com/a/11425019/781824以上是关于如何使用javascript发出post请求的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Symfony 和 Jquery 发出 POST Ajax 请求
如何使用 Python requests 库发出 post 请求?