Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何实现注册的sms验证?_Javascript_Jquery_Ruby_Ajax_Sinatra - Fatal编程技术网

Javascript 如何实现注册的sms验证?

Javascript 如何实现注册的sms验证?,javascript,jquery,ruby,ajax,sinatra,Javascript,Jquery,Ruby,Ajax,Sinatra,站点建立在Sinatra上,并获得下一个代码: 基于这一观点: 这是: 我认为这个JS应该向action发送post请求,这将创建新的请求到sms.ru,它将发送sms。但它不起作用,我也不明白为什么 提前感谢您提供的任何帮助,特别是对于没有JS的实现。您的sinatra代码需要/registration/sms/:number,但是您的ajax会在post数据中使用/registration/sms发送到/sms 将服务器代码更改为: post '/registration/sms' d

站点建立在Sinatra上,并获得下一个代码:

基于这一观点:

这是:

我认为这个JS应该向action发送post请求,这将创建新的请求到sms.ru,它将发送sms。但它不起作用,我也不明白为什么


提前感谢您提供的任何帮助,特别是对于没有JS的实现。

您的sinatra代码需要
/registration/sms/:number
,但是您的ajax会在post数据中使用
/registration/sms
发送到
/sms

将服务器代码更改为:

post '/registration/sms' do
  code = Random.rand(1111..9999).to_s
  phone = params[:phone].to_s
  HTTParty.get('http://sms.ru/sms/send?api_id=' + api_id +'&to=' + phone + '&text=' + code)
  # check code
end
%form{:method => "post"}
  %div.form-group
    %label Phone number
    %input#phone.form-control{:name => "phone", :placeholder => "7 950 123 45 67"}
  %button#sendsms.btn.btn-default{"data-toggle" => "modal", "data-target" => "#myModal"} Send
$("#sendsms").click(function(){
  var phone = $("#phone").val();
  $.ajax({
    url: "/registration/sms",
    data: {"phone": phone},
    type: "post"
  })
})
post '/registration/sms' do
  code = Random.rand(1111..9999).to_s
  phone = params[:phone].to_s
  HTTParty.get('http://sms.ru/sms/send?api_id=' + api_id +'&to=' + phone + '&text=' + code)
  # check code
end