Javascript对象不能访问url,如果它是从AJAX接收的
Javascript object cannot access url if it was received from AJAX
如果url是手动分配的,例如imgUrl="http://image.jpg",它可以完美地工作,但如果它使用AJAX在函数"getRemote"中从后端接收,它就不能。如果请求是异步的,它甚至不在这个块中,但是如果它是同步的,它被接收,但是AR对象不能使用它。知道为什么吗?
var imgUrl = getRemote();
this.img = new AR.ImageResource(imgUrl);
this.imgOverlay = new AR.ImageDrawable(this.img, 0.5, {
offsetX: 0,
offsetY: 0,
});
getRemote功能:
function getRemote() {
return $.ajax({
type: "GET",
url: "http://someurl.php",
async: true
}).responseText;
}
除非您可以等待响应,否则方法不能返回ajax响应,相反,您应该将代码包装在函数中并将其用作回调,该回调将在ajax完成时执行:
var callOnRemote = function(imgUrl){
this.img = new AR.ImageResource(imgUrl);
this.imgOverlay = new AR.ImageDrawable(this.img, 0.5, {
offsetX: 0,
offsetY: 0,
});
};
getRemote(callOnRemote);
jquery的getRemote函数应该是这样的:
$.ajax({
url: "/test.html"
}).success(callOnRemote);
相关文章:
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- 如果数据为空,Ajax加载不会停止
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 如果不刷新Rails中的浏览器,AJAX请求就无法看到效果
- Ajax错误检查-如果Ajax请求失败,如何防止内容发生更改
- 如果($_SERVER[“REQUEST_METHOD”]=“POST”)条件在ajax调用不同的php文件进行验证和提
- CORS-如果Jquery-ajax's”;withCredentials:true”;已使用
- 如果在include文件中使用连接,Jquery ajax调用将不起作用
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- 如果我对一个文件发出ajax GET请求,我会得到什么以及如何将其添加到页面中
- 如果AJAX是异步的,为什么我们要使用setTimout函数
- 表单在每个页面中 - 仅在特定页面上处理它 - 如果当前不在页面上 - 重定向 - 否则 - 使用 AJAX 更新数据
- jQueryAjax SQL-如果我在多个用户上单击编辑,则Ajax会更新我单击的所有内容.不是最后一个点击
- 如果用户名不可用,jquery ajax将阻止表单提交
- ajax-如果我在URL上发送ajax请求,我可以在php页面中检查它是请求还是页面已被打开
- jQuery-ajax:如果ajax验证失败,如何销毁提交
- Jquery / Ajax -如果所有表单都有相同的类,如何确定要序列化哪个表单
- JavaScript/Ajax:如果XMLHttpRequest()在x秒后失败,继续