0

我遇到了一个严重的问题,即没有间歇性发送任何请求的 ajax 帖子。

在我的脚本中,我首先向我自己的服务器发出 getJson 请求以创建数据库条目。这永远不会失败:

jQuery.getJSON("/counter/placeorder", function(json) {
    var txndatetime     = json.txndatetime;
    var hash            = json.hash;
    ...

通过我的服务器通过 JSON 返回的一些值,我尝试将 ajax 发布请求发送到外部服务器。

    $.ajax({    url: "https://www.someserver.com/processing",
        type: "POST",
        data: {
            'txndatetime': txndatetime,
            'hash': hash,
            ...
        },
        complete: function(xmlHttp, status) {
            window.location = '/counter/exit';
        }
    });     

但问题不在于外国服务器。我将 ajax 帖子包装在另一个 ajax 帖子中,我尝试首先将相同的请求发送到另一个调试服务器,有时似乎根本没有发布请求。

但是,如果我将数据序列化并将其放入调试发布请求的 url 中,那么这确实会发送到我的调试服务器,而实际处理服务器的后续发布不会触发。这将暗示从 getJSON 检索到的数据存在问题,但数据在形式上与有效的请求相同。

我剩下的唯一想法是这可能是 JSON 的超时问题。有任何想法吗?

4

1 回答 1

0

我终于通过创建第二个表单解决了我的问题,通过 jquery 添加隐藏的输入字段,然后提交。显然,执行代码元素的顺序有所不同,并且可能时不时地过早触发 ajax 请求,但无论如何,它每次都可以使用表单 sbmit。

于 2013-08-04T19:16:48.203 回答