我想使用getJSON
来抓取用户从下拉菜单中选择的项目的属性。
但是,当我将$.getJSON
放入由下拉选项激活的函数中时,它不起作用。
//DOES NOT WORK :(
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
function json_tolerances() {
$.getJSON($SCRIPT_ROOT + '/_json_tolerances', { machine: $('#machine').val() }, function(data){
tolerances(data);
});
};
$('#machine').change(json_tolerances);
奇怪的是,当我将$ .getJSON放在它运行的函数之外时。不幸的是,现在它与我的下拉菜单无关。
//WORKS :)
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
$.getJSON($SCRIPT_ROOT + '/_json_tolerances', { machine: $('#machine').val() }, function(data){
tolerances(data);
});
更奇怪的是,当我在$.getJSON
假设提供它的数组中处理代码时,它与$.getJSON
有关。
//WORKS :)
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
function json_tolerances() {
//$.getJSON($SCRIPT_ROOT + '/_json_tolerances', {machine: $('#machine').val()}, function(data){
var data = {"result": [{"form_field": "polyethylene", "maximum": "-110", "minimum": "-80"}, {"form_field": "air", "maximum": "-993", "minimum": "-983"}, {"form_field": "acrylic", "maximum": "135", "minimum": "105"}, {"form_field": "water", "maximum": "4", "minimum": "-4"}]}
tolerances(data);
//});
};
$('#machine').change(json_tolerances);
我是javascript的新手,所以任何帮助都会非常感激。
答案 0 :(得分:0)
将所有内容放入(document).ready(function() {})
为我解决了这个问题。这可能与$.getJSON
...
(document).ready(function() {
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
function json_tolerances() {
$.getJSON($SCRIPT_ROOT + '/_json_tolerances', { machine: $('#machine').val() }, function(data){
tolerances(data);
});
};
$('#machine').change(json_tolerances);
})
答案 1 :(得分:-1)
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
function json_tolerances() {
$.getJSON($SCRIPT_ROOT + '/_json_tolerances', { machine: $('#machine').val() }, function(data){
tolerances(JSON.parse(data));
});
};
$('#machine').change(json_tolerances);