我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo?
我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.
function foo() {
var result;
$.ajax({
url: '...',
success: function(response) {
result = response;
// return response; // <- I tried that one as well
}
});
return result;
}
var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud) jQuery.parseJSON并且JSON.parse是执行相同任务的两个函数.如果已经加载了jQuery库,那么在性能方面会jQuery.parseJSON比使用更好JSON.parse吗?
如果是,为什么?如果不是,为什么不呢?
最新版本的Chrome是否已停止同步Ajax调用?进行同步Ajax调用时出现错误。我们更新到最新的Chrome版本-73.0.3683.103后,该问题突然出现。目前,同步调用在Firefox和IE上可以正常工作。我们正在犯错误
消息:“无法在'XMLHttpRequest'上执行'发送':无法加载'Path ...':页面关闭时的同步XHR”。名称:“ NetworkError”
有人可以建议一种解决方案以使Ajax同步调用正常工作。我有一些功能需要确定依赖同步调用。
用户按下button我的网页后,我目前有一个ajax调用.
问题是,提交后,有一点延迟(因为第二个ajax调用需要完成以显示DIV)以避免轻微的延迟..我想知道是否可以将内容附加到DIV:
<textarea name='Status'> </textarea>
<input type='hidden' name='UserID' value="<?=$_SESSION['UserID']; ?>">
<input type='button' value='Status Update'>
<script>
$(function () {
$('input').on('click', function () {
var Status = $(this).val();
$('#output').append(Status);
});
</script>
Run Code Online (Sandbox Code Playgroud)
以上是我目前的代码配置.现在,这不能按预期工作.它不会将提交的内容添加到DIV中.以下是通过我的ajax调用显示它的方式:
window.setInterval(function()
{
$(function ()
{
$.ajax({
url: 'Ajax/AjaxStatuses.php', data: "", dataType: 'json', success: function(rows)
{
$('#output').empty();
for (var i in rows)
{
var row = rows[i];
var User = row[0];
var Status = row[1]
$('#output').append(''+
'<div class="small-3 large-2 columns "><img src="http://placehold.it/80x80&text=[img]" /></div>'+
'<div class="small-9 large-10 columns">'+
'<p><strong><a href="#">'+User+'</a>:</strong>'+Status+'</p>'+ …Run Code Online (Sandbox Code Playgroud) 我知道这听起来像以前被问过的东西,但是对于我所有的狩猎,我找不到任何与我正在寻找的东西相匹配的东西.
我正在开发一个基于Ajax的项目.我正在使用jQuery,但即使它使用精美的代码,当我已经达到代码完全相同时,它仍然很混乱,除了通过data字段传递的单个命令.
所以我尝试在处理函数中设置它,如下所示:
function _call(task, opts, async) {
if(typeof async !== "boolean") { async = true; }
opts = $.extend({}, opts, options);
$.ajax({
url: "myphpfile.php",
dataType:"JSON",
type:"POST",
async:async,
data: { task: task, opts: opts }
}).done(function(data) { return data; });
}
Run Code Online (Sandbox Code Playgroud)
对于那些通读的人,你会注意到有一个var,
options在示例中没有定义.它实际上已被分配,为了清楚起见,它被省略了.
我开始意识到这不起作用,因为即使它被设置async: false,代码仍然在调用之后继续_call(...),因此不能及时得到结果.我尝试了一些不同的变体,包括将匿名函数传递给处理程序,然后将其用作.done()函数,但它不会与外部变量交互,从而无法实现目的.
我正在寻找的是一个让我使用它的系统:
var returnedData = _call("thisismytask");
var returnedDataWithOptions = _call("thisisanothertask", {'option': 'option1'});
Run Code Online (Sandbox Code Playgroud)
我真的希望这是可能的.我确信它会是,因为函数的主要目的是消除不必要的重复代码的需要.
谢谢.:)
我正在使用读取本地文件的内容,jquery我得到undefined.
我觉得问题与 URL 加载的同步有关。但我不知道如何修复此代码:
function url_content(url)
{
var content;
$.get(url,function( data ) {content=data});
return content;
}
var content=url_content("local_templates/template1.html");
alert(content);
Run Code Online (Sandbox Code Playgroud) 我试图使用jquery和ajax从几个url收集数据,然后从中创建内容.但是,我必须遗漏一些东西,因为它似乎不起作用.
我有这样的事情:
var html = "";
function loadByUrl(url) {
$.ajax({
url: url,
dataType: 'json',
async: false,
success: function(json) {
$.each(json.data.children, function(i,item){
if( someCondition ) {
$(item.data).appendTo("#content");
} else {
html += "<div>" + item.data + "</div>";
}
}
}
});
}
loadByUrl("http://fake1.com");
loadByUrl("http://fake2.com");
loadByUrl("http://fake3.com");
$(html).appendTo("#content");
Run Code Online (Sandbox Code Playgroud)
基本上,如果满足某些条件,那么我将立即添加内容,否则我想在内容的末尾添加所有其他"已保存"的内容.
我正在尝试做什么?如果是这样,怎么样?
在我的研究中,我一直无法找到不包含折旧的 jquery 功能的 ajax 函数示例。我需要 v3.4.1 / 2020 解决方案。
我可以获得将数据正确输出到console.log()a 之前的函数return。我的期望是console.log()显示返回的数据。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
function getData (url, privateToken) {
$.ajax({
'crossDomain': true,
'url': url,
'method': 'GET',
'headers': {
'PRIVATE-TOKEN': privateToken
}
})
.done(function (response) {
console.log(response[0].id); // works correctly
// ===================================
var test = response[0].id;
console.log(test); // works correctly
// ===================================
return response; // does not work, `[object object]`` when function is called
// ===================================
return response[0].id; // does not work, `undefined` when function …Run Code Online (Sandbox Code Playgroud) jquery ×7
javascript ×6
ajax ×4
asynchronous ×1
curl ×1
php ×1
return ×1
return-value ×1
url ×1