使用 jquery ajax 执行 javascript 函数,这将更改 html,向其传递参数,然后执行另一个代码

Execute javascript function using jquery ajax that will change html, passing parameters at it and then execute another code

我想提出这样的 Ajax 请求:

function test(par1,par2) {
    alert("add");
    return(par1+par2);
}

$.ajax({
      url: test,
      dataType: "script",
      data: 2,3,
      success: function(data) { 
            alert(data);
      }
});

我觉得我做错了什么。

您需要调用 test,而不是引用它:

url: test("/mypath/", "somelocation.php")

区别在于括号和提供的参数。如果没有括号,您将传递一个函数引用而不执行它。这不会解析为执行值。使用括号执行函数并将 return 值传递给 url 属性,这就是您想要的值。

当然,您需要决定传递给函数的内容。在您的情况下,您可能会在某些变量中使用它们。

其次,您还需要更改传递给 data 的值。应该是一个对象,其中每个属性对应一个参数名:

data: {par1: 2, par2: 3}

jQuery 将翻译成 url 格式。

我的印象是您的 test 函数旨在向 url 添加参数,但由于 data 属性 是为此而设计的,您可能可以取消那个功能。只需将基本的url赋值给url属性,不带参数:

url: "/mypath/mypage.php"