将curl转换为$ .ajax以发送应用程序/ x-www-form-urlencoded数据

时间:2019-04-03 13:56:01

标签: jquery ajax curl

我正在尝试将以下curl代码转换为$ .ajax。

curl --request POST \
  --url https://trackcmp.net/event \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'actid={{actid}}&key={{key}}&event={{event}}&eventdata={{eventdata}}&visit=%7B%22email%22%3A%22{{email}}%22%7D'

此值(带有适当的值)将返回200和json,表示事件调用成功。

我的ajax在这里:

    $.ajax({
  type: "POST",
  contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  url: "https://trackcmp.net/event",
  async: "true",
  data: "actid={{act_id}}&key={{my_key}}&event={{eventName}}&eventdata=${{eventdata}}&visit=%7B%22email%22%3A%22${userEmail}%22%7D",
  dataType: 'json',
  processData: false,
  success: function (data) {
    console.log('success:', data)
  },
  error: function(err) {
    console.log('error', err)
  }
});

}

这将返回200,但没有JSON(并且在trackcpm.net上无法正常工作。如果需要,我可以提供更多信息。

1 个答案:

答案 0 :(得分:0)

数据采用JavaScript键,值对对象而不是查询字符串

data:{
 actid: act_id,
 key: my_key,
 event: eventName,
 eventData: eventData,
 visit: "%7B%22email%22%3A%22${userEmail}%22%7D"
}

您需要相应地填写变量。