我知道这有很多重复问题,但不知何故,这些问题(我在堆栈溢出中搜索了几乎所有相同的标题)都不起作用。 我的问题是成功函数不会触发警报消息,我不明白为什么。
<form>
<div class="form-group">
<label for="">Username</label>
<input type="text" class="form-control" id="user" name="user" placeholder="Username">
</div>
<div class="form-group">
<label for="">Password</label>
<input type="password" class="form-control" id="pass" name="pass" placeholder="Password">
</div>
<div class="form-group">
<label class="radio-inline">
<input type="radio" data-toggle="buttons-radio" name="optRadio" value="prof">Professor
</label>
<label class="radio-inline">
<input type="radio" data-toggle="buttons-radio" name="optRadio" value="admin">Admin
</label>
</div>
<button type="button" class="btn btn-block btn-social" onClick="validateForm()">
<span class="fa fa-twitter"></span>Login
</button>
</form>
javascript文件
function validateForm() {
var checkUser = document.getElementById("user").value;
var checkPass = document.getElementById("pass").value;
var checkOption = $("input[name=optRadio]:checked").val();
/*
if (checkUser && checkPass && checkOption) { //checks if user is not empty
} else {
alert ("Please fill up all information");
}
*/
if (checkOption == "prof") {
$.ajax({
type: 'POST',
url: 'assets/connection/login.php',
dataType: 'json',
data: {
user: checkUser,
pass: checkPass,
},
beforeSend: function() {
alert("a")
},
success: function(response) {
alert(response)
}
});
}
}
并且 php 文件只包含这个
<?php echo "js test" ?>
编辑: 正如评论和@ Rax Weber 所指出的的答案,sucess 中有一个打印错误(应该是 success),但这不是问题的根本原因,仍然 alert 更正后不会触发。
最佳答案
原因是,你设置了dataType: 'json' ,并且没有得到 JSON 格式的响应。
可能的解决方案:
以 JSON 格式发送响应。
在您发布的文件中,发送 JSON 编码的输出:<?php echo json_encode("js test"); ?>
将数据类型设置为默认值。删除行 dataType: 'json'来自你的 JS。
关于javascript ajax 成功功能不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324296/
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
我目前正在尝试学习RubyonRails和测试框架RSpec。assigns在此RSpec测试中做什么?describe"GETindex"doit"assignsallmymodelas@mymodel"domymodel=Factory(:mymodel)get:indexassigns(:mymodels).shouldeq([mymodel])endend 最佳答案 assigns只是检查您在Controller中设置的实例变量的值。这里检查@mymodels。 关于ruby-o
在Rails自动生成的功能测试(test/functional/products_controller_test.rb)中,我看到以下代码:classProductsControllerTest我的问题是:方法调用products()在哪里/如何定义?products(:one)到底是什么意思?看代码,大概意思是“创建一个产品”,但是它是如何工作的呢?注意我是Ruby/Rails的新手,如果这些是微不足道的问题,我深表歉意。 最佳答案 如果您查看test/fixtures文件夹,您会看到一个products.yml文件。这是在您创建
这段代码似乎创建了一个范围从a到z的数组,但我不明白*的作用。有人可以解释一下吗?[*"a".."z"] 最佳答案 它叫做splatoperator.SplattinganLvalueAmaximumofonelvaluemaybesplattedinwhichcaseitisassignedanArrayconsistingoftheremainingrvaluesthatlackcorrespondinglvalues.Iftherightmostlvalueissplattedthenitconsumesallrvaluesw
你能解释一下吗?我想评估来自两个不同来源的值和计算。一个消息来源为我提供了以下信息(以编程方式):'a=2'第二个来源给了我这个表达式来评估:'a+3'这个有效:a=2eval'a+3'这也有效:eval'a=2;a+3'但我真正需要的是这个,但它不起作用:eval'a=2'eval'a+3'我想了解其中的区别,以及如何使最后一个选项起作用。感谢您的帮助。 最佳答案 您可以创建一个Binding,并将相同的绑定(bind)与每个eval相关联调用:1.9.3p194:008>b=binding=>#1.9.3p194:009>eva
在我的一些Controller中,我有一个before_filter检查用户是否登录?用于CRUD操作。application.rbdeflogged_in?unlesscurrent_userredirect_toroot_pathendendprivatedefcurrent_user_sessionreturn@current_user_sessionifdefined?(@current_user_session)@current_user_session=UserSession.findenddefcurrent_userreturn@current_userifdefine
我无法运行Spring。这是错误日志。myid-no-MacBook-Pro:myid$spring/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:17:in`fiddle_func':uninitializedconstantSpring::SID::DL(NameError)from/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/li
我在RoR应用程序中有一个提交表单,是使用simple_form构建的。当字段为空白时,应用程序仍会继续下一步,而不会提示错误或警告。默认情况下,这些字段应该是required:true;但即使手动编写也行不通。该应用有3个步骤:NewPost(新View)->Preview(创建View)->Post。我的Controller和View的摘录会更清楚:defnew@post=Post.newenddefcreate@post=Post.new(params.require(:post).permit(:title,:category_id))ifparams[:previewButt