【发布时间】:2015-07-21 16:15:15
【问题描述】:
我今天有一个非常基本的!我正在尝试从 jQuery 发布到托管在 localhost 上的 PHP 文件。
我的 JS:
$("#searchNameButton").click(function() {
var name = $("#searchNameText").val();
$.ajax({
type: 'POST',
url: 'localhost:8080/getNameInfo.php', // -> this works fine from the browser
// data: { name: name }, -> commented out
success: function(){
alert('request successful');
},
error: function(xhr, textStatus, errorThrown){
alert('request failed');
}
})
});
我的 PHP 文件 (getNameInfo.php),一个非常基本的测试文件:
<?php
echo 'TEST';
?>
在 jQuery 中,它总是会给我带来错误,说“内部服务器错误”。 我正在使用 Ripple Emulator,这就是控制台中显示的内容:
发布https://rippleapi.herokuapp.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=localhost%3A8080/getNameInfo.php 500(内部服务器错误)
我认为与文件中所写内容相比,它与此有关。有什么建议吗?谢谢!
编辑: 找到了这个:LINK,但它不能解决我的问题。如果我按照这里所说的去做,我不会抛出任何错误(“”),但仍然会失败。
编辑 2:如果我在 Ripple 中将跨域代理设置为本地(在上面的链接中建议)我得到 p>
选项http://localhost:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=http%3A//localhost%3A8080/getNameInfo.php net::ERR_CONNECTION_REFUSED
编辑 3:将我的 URL 更改为本地
C://Mobile//跨平台//TestApp//www//php//getNameInfo.php
它现在正在工作。不知道如何使它在本地主机上工作。 BUt 现在将继续使用它,因为它只是一个学习应用程序。
【问题讨论】:
-
什么是
ripplepi.herokuapp.com?我认为您可能需要在 URL 之前添加http://。 -
不,不工作。这就是 Ripple Emulator 发出的调用。
-
如果两个页面都在同一个目录中,则不需要 localhost:8080/getNameInfo.php 只需简单的 getNameInfo.php
-
500 响应代码在大多数情况下意味着 PHP 致命错误。检查你的 php 错误日志。
-
正如我上面提到的,如果直接从浏览器访问,URL 可以正常工作。我想这与 Ripple Emulator 的工作方式有关。请查看我在上面得到的控制台错误(编辑过的原始消息)。
标签: php jquery ajax post ripple