感谢您花时间帮助我。
情况:
我在 Cloud9 ( http://c9.io ) 上使用 jQuery 通过 AJAX 获取一些数据时遇到了一些麻烦。所有文件都在同一个目录中。
以下是代码:
PHP(连接.php):
<?PHP
echo "haha";
?>
Javascript:
var testAjax = function(){
$.ajax({
url : 'connection.php',
type : 'POST',
data : {'name' : 'Ben'},
success : function(response){
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown){
console.log('jqXHR.responseText: ' + jqXHR.responseText);
console.log('jqXHR.responseXML : ' + jqXHR.responseXML);
console.log('textStatus: ' + textStatus);
console.log('errorThrown: ' + errorThrown);
},
dataType : 'text' //expected data type
});
}
在这里,我有type = 'POST'
. 当我testAjax()
在控制台上运行时,它给了我以下信息:
jquery-3.1.0.js:9392 POST https://(root address)/connection.php 404 (Not Found)send @ jquery-3.1.0.js:9392ajax @ jquery-3.1.0.js:8999testAjax @ script.js:63(anonymous function) @ VM3304:1
script.js:71 jqXHR.responseText: Cannot POST /jkeezie/homework-checker/WIP/connection.php
script.js:72 jqXHR.responseXML : undefined
script.js:73 textStatus: error
script.js:74 errorThrown: Not Found
但是,当我将其更改为type = 'GET'
,并摆脱data : {'name' : 'Ben'},
并在控制台上运行同一行时,我得到了这个:
<?PHP
echo "haha";
?>
问题:
为什么在我使用时它会给我 404(第一个场景中响应的第一行),并且在我使用
type = 'POST'
时会正常运行type = 'GET'
?为什么第二种情况会返回整个 PHP 文件内容,而不仅仅是“哈哈”(不带引号)。