[英]jQuery AJAX simple PHP Post not working
我今天有一个非常基本的! 我正试图从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,这是控制台中出现的内容:
POST https://rippleapi.herokuapp.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=localhost%3A8080/getNameInfo.php 500(内部服务器错误)
我认为它必须做的更多,而不是文件中写的内容。 有什么建议? 谢谢!
编辑:发现这个: 链接但它不会解决我的问题。 如果我按照这里所说的做,我不会抛出任何错误(“”而不是“但仍然会失败)。
编辑2:如果我在Ripple中设置跨域代理到本地(在上面的链接中建议)我得到
选项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//Cross-Platform//TestApp//www//php//getNameInfo.php
它现在正在运作。 不知道如何使它在localhost上工作。 BUt现在会用这个,因为它只是一个学习应用程序。
在getNameInfo.php
文件的顶部添加标头访问控制:
header('Access-Control-Allow-Origin: *');
所以,最后我找到了解决方案。 即使它不是推荐的,也可以运行Chrome
- 禁用网络安全
将允许我从localhost:3000调用托管在localhost:8080上的PHP脚本,其中PhoneGap / Ripple Emulator保留。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.