我的脚本视图页面中有两个变量,一个称为产品,另一个称为站点。我已经这样宣布它们了。
添加.cshtml 查看:
$(function () {
products;
sites;
GetProductsAndSites(productsURL, sitesURL, '@Model.Key', false);
});
我在另一个 .js 文件中调用了一个 ajax 函数。
人.js
function GetProductsAndSites(productsURL, sitesURL, secondLevelSiteKey, flag) {
$.ajax({
type: "POST",
url: productsURL,
async: false,
success: function (returndata) {
if (returndata.ok) {
**products = returndata.dataNames;**
//var tempProducts = returndata.dataNames;
$('#select-product').autocomplete({
delay: 0,
minLength: 1,
source: returndata.dataNames,
select: function (event, ui)
{
$.ajax({
type: "POST",
url: sitesURL,
data: { "productID": selectedProductID, "siteID": secondLevelSiteKey },
async: false,
success: function (returndata) {
if (returndata.ok) {
//products = tempProducts ;
**sites = returndata.dataNames;**
$('#select-site').autocomplete({
delay: 0,
minLength: 1,
source: returndata.dataNames,
select: function (event, ui) {
$("#select-site").val(ui.item.label);
});
}
});
}
}
});
}
它在 (products = returndata.dataNames;) 行抛出“对象不支持此属性或方法”异常...起初我以为它看不到产品变量,但后来我意识到它可以看到“站点" 变量,所以我评论了 products 行,并期望它会在 sites 行抛出相同的异常,但它工作得很好。
我尝试创建一个局部变量并将 returndata.dataNames 存储在其中而不是 products varalbe ,然后在站点行之前设置 products 值,但它仍然引发异常。我试图将产品线放在站点线之后,它也在产品线引发了同样的异常。
帮助!