4

file_get_contentsを使用してphpで解析されているURLにjs変数をページングしようとすると少し助けが必要です。どこから始めればいいのかわからない。

<script type="text/javascript">
var js_variable = appl+goog+fb+mfst+nflx;
</script>

<?php
$ticker = js_varable_here;
$file = file_get_contents('http://finance.yahoo.com/d/quotes.csv?s=$ticker&f=soac1p2ghjkj1re');

?>

私がこれについて暗闇の中で私が言ったように、どんなアドバイスもありがたいです。

4

3 に答える 3

2

jqueryを使った例です。

Javascript:

<script type="text/javascript">
  var js_variable = appl+goog+fb+mfst+nflx;
  $.post("/somephp.php", {ticker: js_variable}, function(data) {
    // returned from php
  });
</script>

PHP:

 <?php
   $ticker = $_POST['ticker'];
   $file = file_get_contents("http://finance.yahoo.com/d/quotes.csv?s=$ticker&f=soac1p2ghjkj1re");
 ?>
于 2012-05-25T22:11:05.827 に答える
1

Jashwant の発言を拡張します...

PHP はサーバー側の言語であり、舞台裏で機能します。Javascript はクライアント側であり、ローカル クライアントのマシン上で (つまり、ブラウザを介して) コードを実行および実行します。

ただし、AJAX (Asynchronous JavaScript and XML) を使用して、ローカル クライアントが現在のページをリロードせずに HTTP 要求をサーバーに送信することができます。たとえば、AJAX を使用して、変数の内容をサーバーに送信できます。

簡単に使用するには、ajax 呼び出しに関する jQuery のメソッドを確認してください。参照: http://api.jquery.com/jQuery.ajax/

それがうまくいくことを願っています。

于 2012-05-25T22:08:33.203 に答える
1

jquerys post() を使用してそれを実行し、json を返す方法を次に示します。php 部分内で出力すると予想される結果を作成するか、jquery を使用して結果を each() でループすることができます。

<?php
if($_SERVER['REQUEST_METHOD']=='POST'
   && isset($_SERVER['HTTP_X_REQUESTED_WITH'])
   && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'){

    if(!empty($_POST['s'])){

        $ticker = $_POST['s'];
        $file = file_get_contents('http://finance.yahoo.com/d/quotes.csv?s='.$ticker.'&f=soac1p2ghjkj1re');

        header('Content-Type: application/json');
        echo json_encode(array('result'=>$file));
    }else{
        echo 'Request not allowed!';
    }
    die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" charset="utf-8"></script>
<script>
var js_variable = "appl+goog+fb+mfst+nflx";

$.post('this_script.php',{s: js_variable}, function(data) {
  $('#divResult').replaceWith('<div id="divResult">'+ data.result +'<div>');
});
</script>
</head>
<body>

<div id="divResult"><div>
</body>
</html>
于 2012-05-25T22:41:21.767 に答える