javascript - 我如何在 php codeigniter 上运行 ajax

标签 javascript php jquery ajax codeigniter

我正在尝试在我的 codeIgniter 项目中使用 javascript 代码。但是我没有执行。我尝试了很多方法来解决它:我调用了外部js代码,但没有用。我在我的 View 页面中输入它也不起作用。我认为问题很简单,但我看不到。你怎么看待这个问题?

view.php

<html>
<?php include("/external/css/style.css"); ?>
<head>
<title>New Customer</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
function makeAjaxCall(){
    $.ajax({
        alert("I'm here"); // I cant see that
        type: "post",
        url: "http://localhost/codeigniter_2/index.php/homepage/verifyUser",
        cache: false,               
        data: $('#addCust').serialize(),
        success: function(json){                        
        try{        
            var obj = jQuery.parseJSON(json);
            alert( obj['STATUS']);


        }catch(e) {     
            alert('Exception while request..');
        }       
        },
        error: function(){                      
            alert('Error while request..');
        }
 });
}
</script>

</head>
<body>
    <h1>Customer Add</h1><a href="http://localhost/codeigniter_2/index.php">list</a>
    <form name="addCust" method="post" action="insert">
<table border="1">
<tr>
<th>Customer Name:</th>
<td><input type="text" id="custom" name="customerName"/></td>
<tr>
<th>Customer Phone:</th>
<td><input type="text" name="phone"/></td>
<tr>
<th>Address:</th>
<td><input type="text" name="address"/></td>
.
.
.
<tr>
<td><input type="button" onclick="javascript:makeAjaxCall();" value="Submit"></td>
<td><input type="reset"></td>
</tr>
</form>
</table> 
</body>
</html>

conroller.php

public function verifyUser()
    {
        $userName =  $_POST['customerID'];
        $phone =  $_POST['phone'];
        $address = $_POST['address'];
        if($userName=='' && $phone=11){

            $status = array("STATUS"=>"true");  
        }
        echo json_encode ($status) ;    
    }

怎么了??

最佳答案

您需要将您的代码放入文档就绪处理程序中 -

$(document).ready(function() {
    // your code here
    function makeAjaxCall....
    // EDIT: adding the click handler
    $('#formSubmit').click(function()....
});

此外,与其这样做 -

<input onclick="javascript:makeAjaxCall();" value="Submit">

我会给输入一个 id -

<input name="submit" id="formSubmit" value="Submit">

并向 JavaScript 添加点击处理程序 -

$('#formSumbit').click(function(e) {
    e.preventDefault(); // keeps the button from acting normally
    makeAjaxCall(); // calls the function
});

还有一件事 - 在您的代码中使用 console.log() 而不是 alert()。警报不是解决问题的好方法,因为它们会导致代码暂停直到确认,并且在 AJAX 调用期间使用它们尤其糟糕。

关于javascript - 我如何在 php codeigniter 上运行 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24824603/

相关文章:

php - 将不可读字符转换为 Unicode 字符

javascript - 按钮点击jquery后显示div

jQuery、HTML 表格和 .last()

javascript - 跨源资源共享 (CORS) 问题

javascript - 在 Meteor.js 中创建秒表

javascript - 如何以安全可靠的方式只抓取 HTML 元素的文本

php - 如何安装pear pecl package trader?

javascript - 在 RTL 模式下获取可滚动 DIV 视口(viewport)的更好方法?

javascript - 在javascript中使用DeviceOrientation事件时解决云台锁定的最简单方法-如何制作完美的水平仪/气泡级应用程序

javascript - 如何使用 Angular 和 JavaScript 过滤 Gmaps 对象上的标记