我的应用程序设计需要一些帮助.使用Ajax我想连续获得一些PHP资源,但我不认为使用JQuery $.ajax方法检索它们是否合适.
我认为这样的事情意味着错误的设计:
$.ajax({
url: SERVERURL+'index.php/home/checkAvailability',
datatype: 'text',
success: function(data){
if(data == 'unavailable'){
// do stuff
}
else{
$.ajax({
url: SERVERURL+'index.php/home/getWebTree/',
dataType: 'json',
success: function(data){
// do stuff
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个建议来获得更好的设计吗?我怎样才能以更好的方式做同样的事情呢?
谢谢!
编辑:像@arnorhs告诉我们,使用async参数可能是一个解决方案.但我仍然认为还有其他解决方案,而不是使用连续的ajax调用.
EDIT2:checkAvailability并且getWebTree是使用我开发的CodeIgniter的PHP函数,以便使用Http_Request对象从外部服务器获取资源.
function checkAvailability() {
$this->load->library('pearloader');
$http_request = $this->pearloader->load('HTTP', 'Request');
$http_request->setURL('http://myurl');
$http_request->_timeout = 5;
$http_request->sendRequest();
$res = 'available';
if (!$http_request->getResponseCode())
$res = 'unavailable';
return $res;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一个apply()类型函数,它可以运行一个函数,该函数在两个数组而不是一个数组上运行.
有点像:
apply(X1 = doy_stack, X2 = snow_stack, MARGIN = 2, FUN = r_part(a, b))
Run Code Online (Sandbox Code Playgroud)
数据是来自Landsat瓷砖的一叠带状阵列,使用rbind堆叠在一起.每行包含来自单个磁贴的数据,最后,我需要在此堆栈中的每个数据列(像素)上应用一个函数.一个这样的堆栈包含每个像素是否有雪,而另一个堆栈包含该行的一年中的某一天.我想在每个像素上运行一个分类器(rpart),让它识别每个像素的无雪日.
我现在正在做的事情非常愚蠢:mapply(paste, doy, snow_free)将每个像素的日期和雪状态连在一起作为一个字符串,apply(strstack, 2, FUN)在每个像素上运行分类,在应用函数内部,我正在使用每个字符串爆炸strsplit.正如您可能想象的那样,这是非常低效的,尤其是在100万像素x 300平铺上.
谢谢!
我有一个包含a EditText和a 的XML布局文件Button.我想显示以下验证消息以向用户提供反馈:
您必须输入4个数字
完成此任务的最佳方法是什么?
我注意到在VS2010中使用"添加服务引用"时会创建大量文件.其中一个文件是Reference.cs,它为服务契约创建一个ClientBase.
因此,我想知道VS创建的大量额外文件是否有任何优势,或者我可以自己使用ClientBase并跳过"添加服务引用"选项.
我应该注意到,在我的情况下,双方都在我的控制之下.
是否有任何好的JQuery/JS解决方案来获得文本区域中插入符号的绝对位置(以X/Y坐标或顶部/左侧坐标给出).
keyDown JQuery函数的本机Event对象给出了光标的x/y坐标,我想要一些类似工作插入符号的工作.
我的目标是添加一个浮动的HTML元素,它将相对于工作插入位置定位,所以我需要以某种方式获得它的位置.
我需要解决方案来处理TextArea元素,但任何可编辑的html元素的通用解决方案都会更好!
在flash中是不是有一个简单的"删除所有孩子"功能?我不明白为什么这段代码不起作用.我通过以下方式添加儿
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.addChildAt(project_array[cp].project_type_clips[i],i);
loadCount++
}
Run Code Online (Sandbox Code Playgroud)
然后通过以下方式删除它们
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.removeChildAt(i);
}
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误,提供的索引超出范围,但是一个剪辑仍然在舞台上.同样,如果我尝试添加它们没有级别,像这样:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.addChild(project_array[cp].project_type_clips[i]);
loadCount++
}
Run Code Online (Sandbox Code Playgroud)
并删除:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.removeChild(project_array[cp].project_type_clips[i]);
}
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误.
说我有一个像这样的viewmodel:
public class User
{
public int Id { get; set; }
[Required(ErrorMessage="Username is required")]
public string Username { get; set; }
[Range(0, 255)]
public int Owner { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该页面被提交给它的控制器,我在那里检查ModelState.IsValid,但它没有通过.显然,所有者是必需的.这是为什么?我认为未分配的int的默认值是0.如果我调试应用程序并检查发送到控制器的对象,则该值确实为0.
如果我不想强迫用户输入0,那么最好的方法是什么?我已经尝试将[DefaultValue(0)]属性添加到类中的Owner属性,但它似乎没有任何区别.
即使这是一个新手或琐碎的习惯性概念问题,一些指导也会很好.
问候,
我有一个POCO类,它与另一个类有两个单向一元关系,两个类共享一个祖先.生成的模式中的外键名称不反映属性名称.(属性MainContact和FinancialContact给出PersonId和PersonId1字段名称).
如何影响模式生成以生成与属性名称匹配的数据库列名?
该模型如下所示:

代码如下所示:
public class CustomerContext: DbContext
{
public DbSet<Organisation> Organisations { get; set; }
public DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
DbDatabase.SetInitializer(new DropCreateDatabaseAlways<CustomerContext>());
}
}
public abstract class Customer
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Person : Customer
{
public string Email { get; set; }
}
public class Organisation : Customer
{
public Person FinancialContact { get; set; } …Run Code Online (Sandbox Code Playgroud) 我在Ubuntu下运行Apache/PHP
当我运行.cgi文件时,通过进入http://localhost/mycgi.cgi,浏览器将显示代码而不是运行它.
如何让浏览器执行CGI文件而不是显示其内容?
我正在尝试在PHP和CodeIgniter中构建一个多步/页面表单,我想知道你是否有人可以帮助我.
当您使用后退按钮返回上一步时,如何在CI中使用多步骤表单来更新而不是再次插入?我怎么能有一个表单没有那些后退按钮POST表单重发消息?
编辑:如果可能的话没有JS
谢谢!
jquery ×2
validation ×2
ajax ×1
android ×1
apache2 ×1
asp.net-mvc ×1
asynchronous ×1
c# ×1
caret ×1
cgi ×1
children ×1
code-first ×1
codeigniter ×1
flash ×1
forms ×1
html ×1
integer ×1
javascript ×1
multipage ×1
optional ×1
perl ×1
php ×1
r ×1
textarea ×1
ubuntu ×1
url ×1
wcf ×1