2012-07-21 142 views
1

我花了整整一个早上试图弄清楚如何从JavaScript函数调用PHP脚本,然后返回一个值来输出。我不确定我是否可以用JavaScript来做到这一点,或者我是否也必须包含一些Ajax?从JavaScript调用php脚本

这里是主页

<script> 
    $("document").ready(function(){  
     $("select").change(function(){ 
      var currentValue = parseInt($(this).find("option:selected").val()); 
      //Call Script script.php here 
      $("#output").html(result); 
     }) 
    }); 
</script> 
</head> 
<body> 
    <select name="select"> 
     <option value='1' >1</option> 
     <option value='2'>2</option> 
     <option value='3'>3</option> 
    </select> 
    <div id="output"><!---OUTPUT HERE----></div> 

这里是我想打电话(我已经简化了这一切,使之更容易理解)

<?php 
    $result = $currentValue + 1; 
?> 

基本上我想要的脚本读取currentValue变量并将结果变量输出回网页,以便再次输出。

+1

看一看[ jQuery.get()](http://api.jquery.com/jQuery.get/) – 2012-07-21 11:47:55

+2

增加这样的值有什么用处?您需要使用例如MySQL存储该值! – 2012-07-21 11:49:42

+0

你是什么意思,增加它就像这样,我写的PHP脚本是很长,太长,涉及MySQL和所有这些后,我只是简单地显示事实,我需要得到currentValue进入php脚本并获取结果值并返回主页面 – Arken 2012-07-21 11:51:46

回答

3
// Javascript: 
$.ajax({ 
      type: "GET", 
      url: "example.com/script.php?currentValue="+currentValue , 
      dataType: "json", 
      statusCode: { 
       200: function (result) 
       { 
        $("#output").html(result.value); 
       } 
      } 
     }); 


// PHP 
<?php 
$result = $_GET["currentValue"] + 1; 
echo json_encode(array("value" => $result)); 

?> 
+0

嗨,我正在尝试你的代码,但我在最后一行''echo json_encode(array(“value”=> $ result)得到一个错误;' – Arken 2012-07-21 11:58:00

+0

忘记关闭“)”on json_encode。现在请再试一次。 – take 2012-07-21 11:58:40

+0

好吧,我只是试了一下,但每当我从下拉列表中选择另一个选项,什么都没有出现?感谢您迄今为止的帮助 – Arken 2012-07-21 12:02:11

1
$.post('<url>', {currentValue : currentValue}, function(){}, 'json'); 

< URL>例如AJAX/phpScript

这里AJAX是控制器和phpScript是在该控制器的方法

public function phpScript() 
{ 
$phpScript = $_POST['phpScript']; 

//add your code 

}