2

我正在尝试发布 XML 数据,然后重定向到当前页面,但我似乎无法让它工作。

当我这样做时:

<form action="http://onehouse.freshdesk.com/helpdesk/tickets.xml" method="post">

它可以工作并将数据发布到我想要的网站。

但是,它将用户引导到一个 XML 页面,所以我想发布它,然后让它重定向到我当前的联系表单页面并获得某种成功消息。

我试过使用:

  function loadXMLDoc()
  {
  var xmlhttp;
  if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
  else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("POST","http://onehouse.freshdesk.com/helpdesk/tickets.xml",true);
  xmlhttp.send();
  }

我的控制台没有出现任何错误,但它并没有像我希望的那样发布到 Freshdesk 网站。有谁知道我做错了什么?

4

2 回答 2

1

这是一个关于如何使用 jQuery 发布的示例:

var data = 
    '<helpdesk_ticket>' +
    '<description>This is a test</description>' +
    '<email>sample@example.com</email>' + 
    '</helpdesk_ticket>'
$.support.cors = true;
$.ajax({
    url: 'http://onehouse.freshdesk.com/helpdesk/tickets.xml',
    type: 'POST',
    crossDomain: true,
    data: data,
    dataType: 'text',
    username: 'username1',
    password: 'password1',
    success: function (result) {
        alert(result);
    },
    error: function (jqXHR, tranStatus, errorThrown) {
        alert(
            'Status: ' + jqXHR.status + ' ' + jqXHR.statusText + '. ' +
            'Response: ' + jqXHR.responseText
        );
    }
});
于 2013-07-31T17:29:49.580 回答
0

当您标记 jQuery 时,这是一个应该可以工作的 jQuery 解决方案(我没有测试它):

$.post("http://onehouse.freshdesk.com/helpdesk/tickets.xml", {
   // any parameters here 
}, function(data) {
      document.getElementById("myDiv").innerHTML=data;
})

您仍然需要指定参数,但由于您没有提供表单 html,因此我将其留空。也看看 api:jQuery.post

于 2013-07-31T17:27:10.543 回答