感谢您抽出宝贵时间帮助我。
我在使用基于Cloud9的jQuery(http://c9.io)获取AJAX的数据时遇到了一些麻烦。所有文件都在同一目录中。
以下是代码:
PHP(connection.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";
?>
为什么当我使用type = 'POST'
并在使用type = 'GET'
时通过罚款时,它会给我404(第一个方案中的第一行响应)?
为什么第二个场景会返回整个PHP文件内容,而不仅仅是“haha”(没有引号)。