我的目標是在PHP中複製ASP.NET中的Hot Towel SPA框架。jQuery AJAX通過字符串返回調用PHP腳本
我的項目中有兩個文件:show.js和displaystring.php。我基本上想要做的是返回displayString()函數中存在的任何東西。但是由於一系列不成功的嘗試,我在show.js文件中插入了調試器語句(如下面的源代碼所示)以找出錯誤。當我在谷歌瀏覽器中運行該項目並打開開發人員工具時(Ctrl + Shift + i),我發現程序流停止在調試器語句處(如預期的那樣),並將鼠標懸停在success屬性中的數據變量上,我發現displaytring.php文件返回的是整個html源代碼,而不是僅返回「。$ _ POST('string');語句」。012 _ _ _ _ _ _ _ _ _ 。誰能告訴我哪兒我該怎麼錯了?謝謝。
show.js
define(function (require) {
var val = "";
//var moviesRepository = require("repositories/moviesRepository");
$.ajax({
url: "controllers/displaystring.php",
type: "post",
data: {input:"show"},
datatype: 'json',
success: function(data){
val = data;
debugger; // Debugger inserted here.
}});
return {
result: ko.observable(),
activate: function() {
this.result(val);
}
};
});
displaystring.ph p
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String Display</title>
</head>
<body>
<?php
function displayString() {
return "The string passed is: ".$_POST('string');
}
displayString();
?>
</body>
</html>
如果您將$ .ajax數據類型設置爲'json',那麼您的響應必須是json編碼。 @imRcH答案是正確的 – vrunoa
好吧,如果我想傳遞並顯示一個字符串值,那麼代碼應該是什麼? – Razor
$ .ajax {datatype:「html」,... – vrunoa