【问题标题】:How to make post request using javascript如何使用javascript发出post请求
【发布时间】: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); 
        }
    });
}

我尝试了很多,但在 .我该如何处理?提出一些解决方案或链接

【问题讨论】:

  • 您尝试访问的端点不是同一个域的一部分,被视为跨域请求。看看这个stackoverflow.com/questions/298745/…
  • @Uzbekjon 这个端点是什么意思。我对此很陌生。有什么解决方案吗?我正在检查那个链接。
  • 该端点是否旨在与 javascript 客户端调用集成?它要么需要配置 CORS 以允许适当的跨域访问,要么它们可能具有服务器 jsonp 响应的能力。如果没有其中一个,您的请求将永远不会成功。

标签: javascript jquery ajax post


【解决方案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 来完成,请参阅:stackoverflow.com/a/11425019/781824
猜你喜欢
  • 1970-01-01
  • 2014-06-20
  • 2019-09-28
  • 2022-11-02
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 2019-04-05
相关资源
最近更新 更多