[英]javascript function with parameters in function-call possible?
后续通话是否有意义/甚至有可能吗?
getCall('GET', URL, null, function(x, status, jqXHR){ }, failedRes);
function getCall(method, url, data, func, func2){
.ajax({
type: method,
contentType: "application/json",
data: data,
url: url,
dataType: "json"
}).done(function(data, textStatus,jqXHR) {
console.log("done");
}).fail(function(jqXHR, textStatus, err){
console.log("fail");
});
}
function func2(jqXHR, textStatus, errorThrown){
window.alert("AJAX call error occured");
console.error( errorThrown );
}
我最想知道的是因为“ {}”,还因为参数。 函数参数“ function(data(text,textStatus,jqXHR){}”)过多吗? 而是{}不正确?
function(x, status, jqXHR){ }
定义了可以调用的函数,但是当调用该函数时,除了返回undefined
之外,它什么也不做。 在某些情况下,这可能是有意的。
在这种情况下,我想知道为什么这个参数根本不存在,因为getCall
甚至不使用参数func
。
您可以传递任何内容。就我个人而言,我希望以一种更加结构化的方式设置数据传递,以防万一将来需要进行更新。 传递函数引用或函数本身是完全可行的。
翼:
var data = {
call: "GET",
url: URL,
data: null,
func: function(x, status,jqXHR){},
func2: failedRes
}
getCall(data);
function getCall(data){
data = data || {};
// then just access your vars like so: data.url
是的,这可行。
function callFunction(func, param) {
return func(param);
}
callFunction(
function(a) {
return a*2;
},
2
);
返回4
这是JavaScript AJAX请求/响应格式:
function xhr(method, url, send, success){
var x = new XMLHttpRequest || new ActiveXObject('Microsoft.XMLHTTP');
var v = send ? encodeURI(send) : null;
method = method.toUpperCase();
x.open(method, url);
if(method.match(/^POST$/)){
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
x.setRequestHeader('Content-length', v.length); x.setRequestHeader('Connection', 'close');
}
x.onreadystatechange = function(){
if(x.readyState === 4 && x.status === 200){
success(x.responseText);
}
}
x.send(v);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.