Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php获取echo并在inappbrowser ajax中打开它_Php_Ajax - Fatal编程技术网

从php获取echo并在inappbrowser ajax中打开它

从php获取echo并在inappbrowser ajax中打开它,php,ajax,Php,Ajax,我将一个字符串发送到我的php文件,该文件将从中创建一个编码字符串并返回一个回显。我试图捕获编码的回音并在inapp浏览器中打开回音,但它不起作用。我的失败在哪里 我的JS代码: $(document).ready( function() { $("#paybutton").click(function() { var params = "projectpaymentoption=1197&

我将一个字符串发送到我的php文件,该文件将从中创建一个编码字符串并返回一个回显。我试图捕获编码的回音并在inapp浏览器中打开回音,但它不起作用。我的失败在哪里

我的JS代码:

$(document).ready( function() {
              $("#paybutton").click(function() {
                                    var params = "projectpaymentoption=1197&id=",
                                    usernamepay = window.localStorage.getItem("username"),
                                    paymenturl = params + usernamepay;

                                    $.ajax({
                                           type: 'POST',
                                           url: 'http://www.blabla.com/encode.php',
                                           data: $.param({"paymenturl": paymenturl}),
                                           success: function(output) {


                                           window.open('output','_blank','location=no','closebuttoncaption=Zurück');






                                           console.log(result);
                                           }
                                           });
                                    });
              });
下面是我的编码php:

   <?php

print_r($_POST); // see full contents of the POST
$user = $_POST['paymenturl'];
print PHP_EOL . $user . PHP_EOL; // see full contents of the $user var
$password = "blaaa"; 
$salt = "blaaa";

function encode($password,$decrypted,$salt){    
$key = hash('SHA256', $salt . $password, true);    
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,  
MCRYPT_MODE_CBC), MCRYPT_RAND);   
if (strlen($iv_base64 = rtrim(base64_encode($iv), '=')) != 22) {  
throw new Exception("Encoding failed!");  
}  
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,   
$decrypted . md5($decrypted), MCRYPT_MODE_CBC, $iv)); 
return urlencode($iv_base64 . $encrypted);  }

$en = encode($password,$user,$salt);
$output = "http://blablabla.com/Payments/Connect/1197/DE?o={$en}";
echo $output;

?>
尝试删除php中的所有print和print\r,只留下最后的echo,这样ajax调用将只接收所需的数据。 另外,对输出进行编码

echo json_encode($output);

但是当我使用json_编码时,它会在我的url中加上斜杠,而url不再有效。而JSON_UNESCAPED_斜杠将不起作用。然后我没有得到任何响应。@mav很乐意提供帮助,如果您决定对输出数据进行编码,您可以使用jQuery.parseJSON在js中轻松解码。如果有助于解决您的问题,您也可以将我的答案标记为已接受。如果我收到一个使用include语句动态生成的php页面,该怎么办..返回的ajax值显示整个页面,但无法在AppBrowser中显示它您说它不起作用;你能解释一下确切的问题吗?另外,请修复两个代码部分的缩进,例如每个选项卡4个空格-js部分的缩进太多,php没有缩进。