gpt4 book ai didi

javascript - Ajax 中非常简单的错误我无法解决

转载 作者:行者123 更新时间:2023-11-28 03:39:16 26 4
gpt4 key购买 nike

这是我调用 asmx webservice (xml) 的简单代码。

function maxTransaccion() {
$.ajax({
type: "POST",
url: "WebService.asmx/MAxTransaccion",
contentType: "application/json; charset=utf-8",
dataType: "json",
crossDomain: true,
success: function(s) {
return s.d;
}
});
}

但是我收到了这个错误:

message: "s is not defined" proto: Error

我做错了什么吗?我在 .js 文件中多次使用此 ajax 结构。但只有在这个函数中它才给我错误,让我害怕的是它是如此简单

最佳答案

首先,如果您的服务使用 XML 进行响应,那么您应该对此进行调整:

    $.ajax({
type: "POST",
url: "WebService.asmx/MAxTransaccion",
dataType: "xml",
crossDomain: true,
success: function(s) {
return s.d;
}
});

我认为更改 dataType 并省略 contentType 可能会成功。

下一个可以改进的是你的成功处理程序。

在使用该属性之前先检查该属性:

        function(s) {
if (s && s['d']) {
doSomethingWith(s.d);
}
}

但是因为您很可能收到 XML 而不是 JSON 对象,所以您可能需要如下所示的内容:

  function(xml) {
var responseNode = $(xml).find('node');
doSomethingWith(responseNode.text());
}

也像评论中提到的那样,仅在 AJAX 调用中返回,可能不会执行任何操作。因此,您需要另一个函数,您可以在其中获取结果并执行 doSomethingWithIt。

关于javascript - Ajax 中非常简单的错误我无法解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57430438/

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