我正在尝试创建一个使用jQuery函数getJSON的函数,但我遇到了问题。回调的第一部分不能变量,jQuery总是把它解释为字符串。
我的代码:
$(document).ready(function () {
function getName(callbackName, callbackVal){
$.getJSON("json_server.php",{callbackName:callbackVal}, function(result){
//Do stuff
});
}
getName("name", "john");
});
这导致以下请求网址:
".../json_server.php?callbackName=john"
instead of
".../json_server.php?name=john"
我已经尝试转义它,但这只会导致错误。
我做错了什么,有什么建议吗?
答案 0 :(得分:0)
问题与jQuery无关。这就是js对象的工作原理,键可以是字符串或文字,而不是变量
答案 1 :(得分:0)
按以下方式构建对象
var x = {}
x[callbackName] = callbackVal;
$.getJSON("json_server.php",x, function(result){
//Do stuff
});
[]
语法允许您按名称定义属性。在这种情况下,您将callbackVal
的值分配给名为callbackName
的值的属性
答案 2 :(得分:0)
你可以传递一个对象:
function getName(data){
$.getJSON("json_server.php",data, function(result){
//Do stuff
});
}
getName({"name": "john"});
或者在这样的函数中构建它:
function getName(callbackName, callbackVal){
var data = {};
data[callbackName] = callbackVal;
$.getJSON("json_server.php",data, function(result){
//Do stuff
});
}
getName("name", "john");