使用 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"
我想提出这样的 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"