1

ページを更新せずにPHPスクリプトに投稿する必要がある変数がある場合。これは可能ですか?もしそうなら、どのように?

jQueryを使用した私の試み:

$.ajax({
   url: "myphpfile.php",
   type: "post",
     data: json/array/whatever,

     success: function(){ // trigger when request was successfull
       window.location.href = 'somewhere'
     }
   })

PHPスクリプトで渡された配列をどのように受け取りますか?

4

2 に答える 2

1

GM_xmlhttpRequest()クロスドメインの投稿を許可するために使用します (ほとんどのシナリオで使用されます)。

グリースモンキー スクリプト:

// ==UserScript==
// @name     _Sending arbitrary data, demo
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    GM_xmlhttpRequest
// ==/UserScript==

var someArray       = [1, 2, 3];
var serializedData  = JSON.stringify (someArray);

GM_xmlhttpRequest ( {
    method:     "POST",
    url:        "http://SERVER.COM/PATH/ShowJSON_PostedData.php",
    data:       serializedData,
    headers:    {"Content-Type": "application/json"},
    onload:     function (response) {
                    console.log (response.responseText);
                }
} );


ShowJSON_PostedData.php:

<?php
    echo '<title>JSON data</title>';

    echo '<h2>JSON post data:</h2><pre>';

    $jsonData   = json_decode($HTTP_RAW_POST_DATA);
    print_r ($jsonData);

    echo '</pre>';
?>


コンソール。表示されます:

<title>JSON data</title><h2>JSON post data:</h2><pre>Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)
</pre>
于 2012-12-10T20:06:56.827 に答える
0

このスレッドの受け入れられた回答は、単純なケースを示しているため、非常に役立つ場合があります。jquery $.ajax を使用して PHP 関数を呼び出す

私の提案は次のとおりです。機能するものを作成してから、カスタムケースに到達するまで徐々に複雑さを追加してください。このようにして、より安全に感じ、潜在的な問題が侵入したときに気付くことができます.

php からクライアント側に配列を渡すにはecho json_encode($myArray);、php スクリプトで使用できます。

お役に立てれば

于 2012-12-10T20:21:38.320 に答える