我在script
标记内分配了一个JavaScript对象。
<script>
searchdata = {"employees":[{"name":"john doe","sal": "10000"}]};
</script>
我在不同的地方使用searchdata
,如下:
function viewemp(){
var emp = searchdata.employees;
}
function viewemp1(){
var emp1 = searchdata.employees;
}
function viewemp2(){
var emp2 = searchdata.employees;
}
这一切都没有任何问题。
我正在看的是,我想从jquery ajax调用数据中设置(赋值)searchdata
,即我想从jquery ajax响应中分配数据。
<script>
$(document).ready(function () {
var searchdata = new Object();
$.ajax({
type: "POST",
url: "Services/GlobalData.asmx/FindEmpList",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
searchdata = eval(data.d);
}
});
});
</script>
但是当我看到html“页面查看源”页面时,searchdata
显示为空。它没有分配任何jquery ajax数据。我想查看html“页面视图源”页面中返回的数据jquery。
任何人都可以帮助我如何在“页面视图源”
我也可以在控制台日志中看到我的json数据。
答案 0 :(得分:0)
您无法通过View&gt;查看数据来源,它不是来源的一部分。它是分别添加到JavaScript环境的数据。
答案 1 :(得分:0)
当你声明一个变量时,这个变量是function () {
context
$(document).ready(function () {
var searchdata = new Object(); // <-- LOCAL
...
});
试试这个:
公共变量:
window.searchdata = (function() {
var sdata = {};
return {
set: function(data){
sdata = data;
},
get: function() {
return sdata;
},
employees: function() {
return sdata.employees;
}
};
}());
AJAX:
$(document).ready(function () {
$.ajax({
type: "POST",
url: "Services/GlobalData.asmx/FindEmpList",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
searchdata.set(eval(data.d));
}
});
});
获取searchdata值的函数:
function viewemp(){
var emp = searchdata.get().employees;
}
function viewemp1(){
var emp1 = searchdata.employees();
}
function viewemp2(){
var emp2 = searchdata.get().employees;
}
searchdata.get().employees
和searchdata.employees()
返回相同的值,但您有更多选项可以返回值。
也许它比你需要的更多,但可以帮助你理解如何使用这种类型的变量和上下文