使用jqueryajax执行javascript函数,jqueryajax将更改html,在其中传递参数,然后执行另一个代码

使用jqueryajax执行javascript函数,jqueryajax将更改html,在其中传递参数,然后执行另一个代码,javascript,jquery,ajax,parameters,Javascript,Jquery,Ajax,Parameters,我想提出这样一个Ajax请求: function test(par1,par2) { alert("add"); return(par1+par2); } $.ajax({ url: test, dataType: "script", data: 2,3, success: function(data) { alert(data); } }); 我认为我做错了什么。您需要调用测试,而不是引用

我想提出这样一个Ajax请求:

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

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

我认为我做错了什么。

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

url: test("/mypath/", "somelocation.php")
区别在括号中,并提供了参数。如果没有括号,则传递函数引用而不执行它。这不会解析为已执行的值。使用括号执行函数并将返回值传递给
url
属性,这是您想要的

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

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

data: {par1: 2, par2: 3}
jQuery将翻译成
url
格式

我的印象是,您的
test
函数旨在向
url
添加参数,但由于
data
属性就是为了添加参数,因此您可能可以取消该函数。只需将基本
url
分配给
url
属性,不带参数:

url: "/mypath/mypage.php"

我也错了,现在我写了数据:“par1=2&par2=3”,现在我的ajax是$.ajax({url:test(),数据类型:“script”,数据:“par1=2&par2=3”,成功:函数(数据){alert(data);});