我有一个从laravel控制器加载数据的页面,有一个按钮可以调用jquery函数,
按钮值中有一个电话号码,所以我需要发送短信给那个号码,
这里我附上了我使用的代码,
短信网关功能齐全,出于安全考虑,我删除个人数据,
链接
<i><a class="btn btn-info" id="Confirm2" value="{{$padd->ContactNum02}}">Confirm</a></i>
JQ代码
<script type="text/javascript">
$(document).ready(function(){
$("#Confirm2").click(function(){
$("#ConfirmNo02input").show();
$("#Confirm2").hide();
OTPSend();
var PhoneNum = $("#Confirm2").val();
function OTPSend( PhoneNum) {
$.ajax({
url: 'OTP_send',
type: 'POST',
datatype:'json',
data:{SearchKey:PhoneNum},
})
.done(function(data) {
alert("run")
console.log("run");
})
.fail(function() {
alert("fail")
console.log("error");
})
}
});
});
</script>
路线
Route::post('/OTP_send', 'ServicesController@OTP' )->name('OTP_send');
控制器文件
public function OTP(Services $services)
{
$testNum='0753505625';
$api_instance = new SmsApi();
$user_id = "xxxxx";
$api_key = "xxxxxxxxxxxxxxx";
$message = "test SMS";
$PhoneNo=ltrim( $testNum , "0");
$to ="94".$PhoneNo;
$sender_id = "NotifyDEMO";
try {
$api_instance->sendSMS($user_id, $api_key, $message, $to, $sender_id);
} catch (Exception $e) {
echo 'Exception when calling SmsApi->sendSMS: ', $e->getMessage(), PHP_EOL;
}
return response()->json(['message' => 'successfull'],200);*/
}
这个代码不起作用,你能帮我吗
您的代码中存在多个问题
首先像这样更改HTML,您需要的是按钮而不是链接。
<i><button class="btn btn-info" id="Confirm2" value="{{$padd->ContactNum02}}">Confirm</button></i>
将您的Javascript更改为这个
$(document).ready(function(){
$(document).on('click','#Confirm2',function(e){
e.preventDefault();
$("#ConfirmNo02input").show();
$("#Confirm2").hide();
$.ajax({
url: 'OTP_send', // URL for the function
method:"POST",
data:{
phone:$("#Confirm2").val()
},
success:function(result){
if(result.status == 'success'){
alert('ran');
}
else{
alert('failure');
}
}
});
});
最后把你的控制器换成这个。
public function OTP(Request $request){
$testNum='0753505625';
// use this to send the text on number coming from the button
// $testNum = $request->phone;
$api_instance = new SmsApi();
$user_id = "xxxxx";
$api_key = "xxxxxxxxxxxxxxx";
$message = "test SMS";
$PhoneNo=ltrim( $testNum , "0");
$to ="94".$PhoneNo;
$sender_id = "NotifyDEMO";
try{
$api_instance->sendSMS($user_id, $api_key, $message, $to, $sender_id);
$response['status'] = 'success';
}
catch(Exception $e) {
echo 'Exception when calling SmsApi->sendSMS: ', $e->getMessage(), PHP_EOL;
}
return $response;
}
最后,确保你在ajax中经过的路线正确指向控制器的这个功能。
单击下面我调用的ajax函数代码按钮继续预订 路线 控制器
XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); 方法 描述 open(method,url,async) 规定请求的类型、URL 以及是否异步处理
我正在尝试有一个切换按钮(复选框)更改我的MySQL数据库中的一些数据。我本质上想有一个很好的管理站点,在其中我可以解锁用户到网站上的某些功能与一个很好的开/关开关。 一切似乎都设置正确,但我的控制器根本没有反应或被触发。 现在,我的视图中有一个工作切换按钮触发了一个javascript函数。在该javascript函数中,我已经设置了要传输到控制器的数据。 我还在JavaScript中设置了Aj
问题内容: 我发送这样的短信 html标记 JavaScript代码 symfony2控制器代码 但为空… 我已经尝试通过Firefox HTTP请求测试器进行普通的发布请求(不是Ajax)。 控制器工作并具有价值。 所以我认为php代码还可以,但是Ajax方面存在问题 成功地调用’success:function’。 您如何获取javascript数据结构的内容? 问题答案: 首先,您无需访问控
问题内容: 我正在通过ajax将数据发送到我的控制器 在我正在使用的控制器中 我什么也没得到。我也试过说。如何获取ID值? 也返回假。 问题答案: 问题在于您将应用程序内容设置为json,而无需设置内容。 jQuery Ajax contentType(预设值:’application / x-www-form-urlencoded; charset = UTF-8’) 希望能有所帮助。您的aja
我可以像这样在每个视图中访问一个函数。 在我的AppService提供代码 如何在每个控制器中访问它? 在每个控制器中调用函数的最佳方式是什么,因为我需要确保来自数据库的最新记录。
我在使用Ajax向控制器发送json数据时遇到问题。
我试图通过AJAX向Spring控制器发送JSON对象,但收到错误415: 下面是我的javascript调用- 这里是我的依赖项杰克逊相关的依赖项在我的POM- 讽刺的是,当我试着穿Spring靴的时候,它就起作用了。