目标:我想要的是从数据库中获取数据并刷新main.php(通过draw_polygon更明显)每次在数据库中添加内容时(在$ .ajax之后提交给submit_to_db.php).
所以基本上我有一个main.php将ajax调用另一个php来接收一个将被保存到数据库的数组,并且json调用另一个php来返回一个数组将被main.php使用.
$(document).ready(function() {
get_from_db();
$('#button_cancel').click(function(){
$.ajax({
url: 'submit_to_db.php',
type: 'POST',
data: {list_item: selected_from_list},
success: function(result){
...
get_from_db();
}
});
});
function get_from_db(){
$.getJSON('get_from_db.php', function(data) {
...
draw_polygon(data);
});
}
});
Run Code Online (Sandbox Code Playgroud)
在我的例子中,我所做的是一个get_from_db函数调用,getJSON实际从数据库中获取数据,并使用数据draw_polygon.但是应该怎么做呢?我是一个完整的新手,这是我第一次尝试getJSON和ajax说实话.所以我的问题:异步如何实际工作?是否有其他的办法解决这个,而不必调用函数get_from_db与getJSON(这是不同步的,是它那为什么它时,它不是一个函数内没有更新页面?)所有的时间-就像$.ajax用async: false(顺便说一句,我无法让它工作.我的方法很有效,但我想也许还有其他更好的方法可以做到.我很想学习如何.提前致谢.我希望我有任何意义.
为了使它更清晰,这就是我想要实现的目标:
@start页面,从数据库中获取数据(目前通过getJSON)canvas使用data我的脚本目前看起来像这样:
<script type="text/javascript">
function updateMe(){
var x = 0;
var jsonstr = '{"date":"July 4th", "event":"Independence Day"}';
var activity=JSON.parse(jsonstr);
while(x<10){
date = document.getElementById("date"+x).innerHTML = activity.date;
event = document.getElementById("event"+x).innerHTML = activity.event;
x++;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
其中日期"x"和事件"x"是一系列html标签.此功能在页面加载(onload)时运行.我的目标是完成同样的事情,只能从本地.json文件,而不是我上面的硬编码.我已经查看了http://api.jquery.com/jQuery.getJSON/.
本地.json文件如下所示:
{"date":"July 4th", "event":"Independence Day"}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我想从我自己的包含数组的服务器加载一个JSON文件到一个javascript对象变量.
我希望在页面加载开始时以同步方式执行此操作,因为在页面加载期间需要数据.
我设法使用jQuery.getJSON,但这是asynch ajax,它似乎有点矫枉过正.
有没有办法以同步的方式加载JSON而不进行自己的解析?
(或多或少喜欢使用<script language="JavaScript" src="MyArray.json"></script>)
在此先感谢任何帮助,希望它是有道理的,因为我是一个JavaScript新手.保罗
我有JSON如下输出:
["City1","City2","City3"]
Run Code Online (Sandbox Code Playgroud)
我想获得每个城市名称,我该怎么做?
$.getJSON("url_with_json_here",function(json){
});
Run Code Online (Sandbox Code Playgroud)
编辑:
$.getJSON('url_here', function(data){
$.each(data, function (index, value) {
$('#results').append('<p>'+value+'</p>');
console.log(value);
});
});
Run Code Online (Sandbox Code Playgroud)
以上似乎不起作用,没有输出值.
我有一个HTML代码:
<button>asd</button>
<script type = "text/javascript">
$('button').click(
function() {
$.getJSON('/schedule/test/', function(json) {
alert('json: ' + json + ' ...');
});
}
);
</script>
Run Code Online (Sandbox Code Playgroud)
和相应的观点:
def test(request):
if request.method == 'GET':
json = simplejson.dumps('hello world!')
return HttpResponse(json, mimetype = 'application/json')
Run Code Online (Sandbox Code Playgroud)
执行视图(使用测试print),json初始化变量但不显示警报.我做错了什么?我已经看过一些关于此的文档(http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback例如)但我没有找到答案.
编辑:问题是,这HttpResponse是没有导入...不幸的是Django没有给出任何错误.其他一切都是正确的.尊重
克里斯
我有以下我正在尝试将列表/数组发送到MVC控制器方法:
var id = [];
var inStock = [];
$table.find('tbody>tr').each(function() {
id.push($(this).find('.id').text());
inStock.push($(this).find('.stocked').attr('checked'));
});
var params = {};
params.ids = id;
params.stocked = inStock;
$.getJSON('MyApp/UpdateStockList', params, function() {
alert('finished');
});
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
public JsonResult UpdateStockList(int[] ids, bool[] stocked) { }
Run Code Online (Sandbox Code Playgroud)
两个参数都是空的.
请注意,如果我将参数更改为单个项目
params.ids = 1;
params.stocked = true;
public JsonResult UpdateStockList(int ids, bool stocked) { }
Run Code Online (Sandbox Code Playgroud)
然后它工作正常,所以我不认为这是一个路由问题.
我一直在寻找的在文档的JSONObject时候,我注意到了两种方法:getJSONObject(String key)和optJSONObject(String key).从文档中,我认为他们做了几乎相同的事情有一个区别:如果找不到键或值,则getJSONObject()抛出一个JSONException而optJSONObject()只是返回null.
getJSONObject()和之间还有其他差异optJSONObject()吗?get了opt,反之亦然?我用getJSON填充选择菜单.我想知道是否有一种方法可以使用jQuery的.each函数来引入这些值?
当然必须有一种更简单的方法来完成这个......也许吧?
PHP文件:
<?php
$queryMonth = "SELECT monthID, month FROM months";
$result = $db->query($queryMonth);
while($rowMonth = $db->fetch_assoc($result)) :
$data[] = $rowMonth;
endwhile;
echo json_encode($data);
?>
Run Code Online (Sandbox Code Playgroud)
jQuery:
$.getJSON('selectMenus.php', function(data){
$("select.month").append("<option value=" + data[0].monthID + ">" + data[0].month + "</option>");
$("select.month").append("<option value=" + data[1].monthID + ">" + data[1].month + "</option>");
$("select.month").append("<option value=" + data[2].monthID + ">" + data[2].month + "</option>");
$("select.month").append("<option value=" + data[3].monthID + ">" + data[3].month + "</option>");
$("select.month").append("<option value=" + data[4].monthID + ">" + data[4].month + "</option>");
$("select.month").append("<option value=" …Run Code Online (Sandbox Code Playgroud) 我正在尝试访问education.com API数据.但是,我一直收到错误指出的错误:
XMLHttpRequest无法加载 http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json.Access-Control-Allow-Origin不允许使用Origin.
我的代码如下:
$(function(){
$.getJSON('http://api.education.com/service/service.php?f=schoolSearch&key=mykey&sn=sf&v=4&city=Atlanta&state=ga&Resf=json',
function(data) {
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
有谁可以帮助我吗?
如果我有一个JSON名为names.json的文件:
{"employees":[
{"firstName":"Anna","lastName":"Meyers"},
{"firstName":"Betty","lastName":"Layers"},
{"firstName":"Carl","lastName":"Louis"},
]}
Run Code Online (Sandbox Code Playgroud)
如何在javascript中使用其内容?
getjson ×10
jquery ×7
json ×7
javascript ×4
ajax ×2
synchronous ×2
api ×1
arrays ×1
asp.net-mvc ×1
django ×1
parsing ×1
simplejson ×1
sync ×1