2016-06-30 47 views
3

我正在使用以下代码来检测表单选择中的更改,然后发送一个AJAX get请求与数据。AJAX获取查询不会导致页面加载

$("#configset").change(function(){ 

    $.ajax({ 
      method: "get", 
      url: "/bmcfg/index.php", // This is the url that will be requested 

      data: {"configset": $("#configset").val(), 
        "configupdate": "update" 
        }, 
     success:function()//we got the response 
     { 
     // alert('Successfully called:'+ $("#configset").val()); 
     }, 
     error:function(){alert('Exeption:');} 

      }); 

}); 

在服务器端,我使用PHP来处理请求。

if ((isset($_GET['configupdate']) and $_GET['configupdate'] == 'update')) 
{ 
    echo 'get received:'.$_GET['configupdate']; 
    include project.html.php 

}

我从来没有看到被打印在新页面上回声线?我只是希望PHP加载新的网页,而不必将它作为数据发送回ajax。

+0

你希望在哪里看到回波线“打印?”这将是从服务器返回的响应,所以您应该在JavaScript中的“成功”回调中看到该值。 – smarx

+0

包含'project.html.php';在那个网页上。它包括在回声之后。 – marc

+0

'成功:功能(响应){警报(响应);}'它说什么?检查 –

回答

0

的解决方案是显然没有使用AJAX,但使用的一种形式,并提交检测的变化形式。 AJAX将在AJAX中发送和接收数据。所以服务器端PHP脚本发送的数据也会被发送到AJAX。

这可以通过使用JQuery的表单提交来解决。

$("#selectid").change(function(){ <------ this is the select tag "id" 
    $("#formid").submit();  <---- this is the form tag "id"   
}); 
1

参数添加到从PHP获取价值的功能:

success:function(data)//we got the response 
     { 
     alert(data); // <========== VALUE ECHOED FROM PHP. 
     } 
+0

我只想运行PHP脚本。有没有办法让它做到这一点?因为脚本会加载一些新的变量,我会在diff脚本中加载它们,脚本会加载 – marc

+0

@ amansehgal0u2,您使用ajax来调用PHP,PHP运行时结果会回到ajax。这是它的工作方式。顺便说一下,PHP实际上正在运行,但你没有看到结果。 –

+0

是的,谢谢。问题在我的理解。我看到整个该死的网页现在都放入了数据。但那不是我想要的大声笑。我想我想让PHP脚本将该网页发送到浏览器 – marc