1
現在、jQuery Mobileを使用してajaxリクエストを行っています。私はhttp://www.giantflyingsaucer.com/blog/?p=2574の例を使用しようとしています。はい、それは完全に動作します。しかし、私がcodeigniterの中でコードを使用しようとすると、問題が起こっていました。私は通知に 'OK' を表示させたいjQuery MobileのAjaxリクエストとCodeginiterの併用
<?php
class Ajax extends CI_Controller {
function __construct() {
}
function index() {
?>
<!DOCTYPE html>
<html>
<head>
<title>Submit a form via AJAX</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" />
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>
</head>
<body>
<script>
function onSuccess(data, status)
{
data = $.trim(data);
$("#notification").text(data);
}
function onError(data, status)
{
// handle an error
}
$(document).ready(function() {
$("#submit").click(function(){
var formData = $("#callAjaxForm").serialize();
$.ajax({
type: "POST",
url: "callajax",
cache: false,
data: formData,
success: onSuccess,
error: onError
});
return false;
});
});
</script>
<!-- call ajax page -->
<div data-role="page" id="callAjaxPage">
<div data-role="header">
<h1>Call Ajax</h1>
</div>
<div data-role="content">
<form id="callAjaxForm">
<div data-role="fieldcontain">
<label for="firstName">First Name</label>
<input type="text" name="firstName" id="firstName" value="" />
<label for="lastName">Last Name</label>
<input type="text" name="lastName" id="lastName" value="" />
<h3 id="notification"></h3>
<button data-theme="b" id="submit" type="submit">Submit</button>
</div>
</form>
</div>
<div data-role="footer">
<h1>GiantFlyingSaucer</h1>
</div>
</div>
</body>
</html>
<?php
}
function callajax() {
echo "ok";
}
}
:
は、ここに私のコントローラです。 I m trying to call function callajax instead of call from callajax.php is this possible or do I need to create callajax.php? I
callajax.phpを作成しようとしましたが、失敗しました。
url: "ajax/callajax",
あなたは、コントローラのAJAX内callajax関数を呼び出しているとおり:
はおそらく、URLになりたい、
うわー、うまくいく!ありがとうございました..私はcallajax()からxmlまたはjsonを呼び出そうとすると同じですか?もちろんxmlビューを呼び出してからcallajax()の中にロードしてください。 – justmyfreak
この目的のために、ajax/callajaxをあなたの 'ページ'として扱うことができます。つまりyourdomain.com/ajax/callajaxに行くと、「ok」というメッセージが表示されます。だから、あなたはその機能の中で何でもできますし、それは通常通り返されます。 xmlファイルにリンクすると、通常どおりにやります。それらがyourdomain.com/xml/my-xml.xmlにあった場合は、site_url(xml/my-xml.xml)とリンクするだけです。 –
別の偉大な答えをありがとうございました:D – justmyfreak