私はこのサーバー側のSLIMコードを持っています:
require 'Slim/Slim.php';
$app = new Slim();
//$app->config('debug', true);
$app->get('/hello', 'hello');
//$app->post('/addConsultant', 'addConsultant');
$app->run();
function hello() {
echo '{"hello": ' . json_encode("merp") . '}';
}
かなり裸骨ですね。つまり、GET は 1 つだけです。
今、私はこのクライアント側のJavascriptコードを持っています:
var rootURL = "http://somabsolutions.se/dev/index.php/";
$('#btnHello').click(function() {
$.ajax({
type: 'GET',
url: rootURL + '/hello',
dataType: "text json",
success: function(data){
alert("Something " + data);
},
error: ajaxFailed
});
return false;
});
function ajaxFailed(XMLHttpRequest, textStatus, errorThrown) {
alert("XMLHttpRequest=" + XMLHttpRequest.responseText + "\ntextStatus=" + textStatus + "\nerrorThrown=" + errorThrown);
}
また、かなり簡単です。
jQueryによるAJAX呼び出しにバインドされたボタンを保持するこのHTMLのものがあります:
<!DOCTYPE HTML>
<html>
<head>
<title>
Backend test
</title>
</head>
<body>
<form id="testForm">
<button id="btnHello">Hello World</button>
</form>
<script src="javascript/jquery-1.7.2.min.js"></script>
<script src="javascript/main.js"></script>
</body>
</html>
このようなものは、今日まで機能していましたが、なんらかの異質な理由で機能しなくなったのです!
ほら、うまくいきますよね?
しかし、私がその HTML ボタンを押すたびに、Ajax は呼び出しが失敗したと判断し、エラー関数にリダイレクトしますが、何も表示されず、空白のエラー メッセージしか表示されません。
これの何が問題なのですか?数日前はうまくいきました!