gpt4 book ai didi

ajax - 即使服务器返回成功,Ajax调用也总是触发失败处理程序

转载 作者:行者123 更新时间:2023-12-03 08:47:48 26 4
gpt4 key购买 nike

即使从服务器端返回成功值,以下JavaScript也会始终触发失败处理程序:

$.ajax(payload)
.done(function(data, statusText, jqxhr) {
document.getElementById('myModal').innerHTML = "<p>Record Saved ... </p>";
modal.style.display = "block";
refresh_html_page(document.getElementById("sheetname").value);
})
.fail(function(jqxhr, statusText, errorThrown) {
document.getElementById('myModal').innerHTML = "<p>Record Not Saved ... </p>";
modal.style.display = "block";
refresh_html_page(document.getElementById("sheetname").value);
})
.always(function () {
// Re-enable the inputs
$inputs.prop("disabled", false);
});

返回的JSON字符串:

[{“结果”:“成功”,“行”:11}]

有什么想法吗?

最佳答案

好消息。我能够破解它。解决方法如下:

  • 在有效载荷
  • 中设置回调函数
  • 在新创建的回调函数
  • 中进行虚拟操作
  • 在创建jasonp响应
  • 时在服务器端给回调函数名称加上前缀

    客户端:
    function handleJSONPResponse(data, status, request) {
    console.log('response', data);
    }


    // Fire off the request to /form.php
    var payload = {
    crossDomain: true,
    url: "https://script.google.com/macros/s/XXXXXXXXXXXXXXXXX/exec",
    method: "POST",
    dataType: "jsonp",
    data: serializedData,
    jsonpCallback: 'handleJSONPResponse'
    };

    服务器端(e是从客户端发送的有效负载):
    return ContentService
    .createTextOutput(e.parameters.callback + '(' + JSON.stringify({"result":"success", "row": nextRow})+ ')')
    .setMimeType(ContentService.MimeType.JAVASCRIPT);

    解决问题真是太好了。非常感谢您的投入和鼓励。非常感激。

    关于ajax - 即使服务器返回成功,Ajax调用也总是触发失败处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843803/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com