如何使用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 请求?

如何发出json post请求?

如何使用 React Redux 发出 post 请求?

使用 Javascript 发出 HTTP POST 身份验证基本请求

如何使用不同的对象发出此POST请求?