Ajax没有得到php结果的响应
Ajax not getting response of php result
我试图在没有页面刷新的情况下从php返回结果,但它根本不做任何事情,而是将我重定向到multi-pagerank-checker.php?url=google.com&go=
这样的url,我也没有得到任何成功消息alert('form was submitted');
Ajax调用:
<script type="text/javascript">
$(function () {
$('Pagerank Form').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'multi-pagerank-checker.php', // this is the actual url of the page (tried location.href) but did not work
data: $('Pagerank Form').serialize(),
success: function () {
alert('form was submitted');
}
});
e.preventDefault();
});
});
</script>
现在在multi-pagerank-checker.php
中我有
<form id="check" onsubmit="return validatef()" name="Pagerank Form" class="clearfix">
<textarea name="url" id="url" onkeydown="foo(this,100)" onfocus="validateonfocus()" onblur="validateonblur()">Enter Domains Separated By New Line -MAX 100 DOMAINS-</textarea>
<input id="submit" type="submit" name="go" value="" />
</form>
以及脚本如何在同一页面上被处理。
<?php
include("lib/functions.php");
/*if(isset($_POST['url']))
{ */
$urls = $_POST['url'];
$replace="http://www.";
$urls = str_replace($replace, '', $urls);
//}
if($urls == "")
{} else {
echo "<table class='shadow' border='0' width='60%' style='margin:0 auto; background:#EFEFEF;border-bottom-left-radius:1em;border-bottom-right-radius:1em;font: 14px Lucida Sans Unicode; text-align:center;'><tr style='font-weight:bold;background: #14a3b4;color: #f5f5f5; font: 15px Lucida Sans Unicode; text-align: center;height:40px;'><td>Website Url</td><td>Google Page Rank</td></tr>";
$urls1 = split("'r'n", $urls);
foreach ($urls1 as $urls) {
$explode_http = explode("http://", $urls);
$url_out_http = $explode_http[1];
$explode_backslash = explode("/", $url_out_http);
$srd = explode("/", $explode_http[1]);
if($srd[0] != "") {
$url = $url_out_http;
} elseif($url_out_http == "") {
$url_d = $explode_http[0];
$url = rtrim($url_d,"/");
} else {
$url_d = $explode_backslash[0];
$url = rtrim($url_d,"/");
}
$url_take_www = str_replace("www.www.$url", "$url", "$url");
$www_url = "www.".$url_take_www;
$url = str_replace(" ", "", $url);
$check_pr = getpr($url);
$width = $check_pr * 5;
// FAKEPAGE RANK CHECKER
$data = get_data("http://www.google.com/search?q=info:$url");
$pos = preg_match('/<div id=resultStats>(.*?)<'/div>/is',$data);
?>
<tr>
<td><?php echo $url;?></td>
<td style='text-align:center;'><?php echo $check_pr;?>/10</td>
</tr>
<!-- in this tr i echo the result -->
<?php } ?> <!--foreach ends here-->
</table>
我错过了什么?如果isset post的旧方法工作得很好,只是我不想重新加载页面并使用ajax。请帮助我,我是一个新手在Ajax和Jquery。
编辑function validatef() {
var validatef = document.getElementById('url').value;
var validaterror = document.getElementById('errorvalidate');
if (validatef == 'Enter Domains Separated By New Line -MAX 100 DOMAINS-') {
validaterror.textContent = 'Please enter domain names in the field.';
return false;
}
else {
validaterror.textContent = '';
var load = document.getElementById('loading');
load.style.display='block';
document.getElementById('check-web-site-ranking').style.height = '200px';
load.innerHTML = '<img src=/images/loading.gif>';
}
}
问题是您试图拦截标记,而不是具有该名称的表单。你应该这样做:
$('form[name="Pagerank Form"]').on('submit', function (e) {
尽管我建议你在表单上指定一个类,并且这样做:
$('.formclass').on('submit', function (e) {
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- 如何将getJson的响应保存在全局变量中
- 在Minitest中,我可以在JS页面上触发并分析结果/响应吗
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- 使用SimpleHTTPServer响应的结果更新javascript变量的值
- 使用Cheerio和Response for Node web scraper,将响应函数结果传递给视图
- Android Webview中OpenFileChooser的结果导致应用程序不响应
- Node.js+MySQL没有't获取结果或响应Console.log
- 使用正确的数组响应HTTP请求时出现问题.使用expressjs从函数内部发送结果的可能方法
- 如何获得http响应作为点击的结果
- 如何保存从谷歌地图API响应返回的结果
- 如何在node.js响应中过滤mysql的结果
- 使用请求获取API结果,并集成到Hubot响应中
- 为什么响应结果是零,谷歌地图v3
- 在正确的LatLong结果从谷歌API响应
- 使用jQuery会产生不同的结果.过滤器和jQuery.查找Ajax xhr响应
- web服务-使用javascript调用expressjs restful webservice =>结果总是空的响应
- Ajax没有得到php结果的响应
- JSON响应的问题,结果对象的属性被读取为未定义,但我可以看到它存在