Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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
Javascript如何从php文件响应重定向_Javascript_Php - Fatal编程技术网

Javascript如何从php文件响应重定向

Javascript如何从php文件响应重定向,javascript,php,Javascript,Php,我在前端有一个javascript请求,在后端有一个php作为url使用一个php文件。 我想知道你怎么能重定向这个? 在一种情况下,若表中有数据,我将初始化映射,而在另一种情况下,我将重定向 PHP文件api.PHP $response = [ 'status' => 'ok', 'data' => $database->resultset(), ]; if (empty($response['data'])) { Flash::set_alert

我在前端有一个javascript请求,在后端有一个php作为url使用一个php文件。 我想知道你怎么能重定向这个? 在一种情况下,若表中有数据,我将初始化映射,而在另一种情况下,我将重定向

PHP文件api.PHP

$response = [
    'status' => 'ok',
    'data'   => $database->resultset(),
];
if (empty($response['data'])) {
    Flash::set_alert("Property details has successfuly saved. ");
    $response=[
        'status' => 'redirect',
        'data' => '/search.php',
    ];
}
这是我的回答。如果表是emtpy,我不知道如何在javascript中创建一个处理响应的开关,以重定向到search.php

Javascript代码

$(document).ready(function () {

    $('#propertySearch').submit(function (e) {
        e.preventDefault();
        $.ajax({
            url: 'api.php',
            type: "POST",
            dataType: 'json', // add json datatype to get json
            data: $('#propertySearch').serialize(),
            success: function (data) {
                console.log(data);
                initMap(data.data);

            }
        });
    });

});


检查返回的状态,然后使用location.href重定向

$.ajax({
    url: 'api.php',
    type: "POST",
    dataType: 'json', 
    data: $('#propertySearch').serialize(),
    success: function (data) {
        if(data.status && data.status === 'redirect' && data.data) {// Check all condition
            location.href = data.data;
        }
        else {
            initMap(data.data);
        }
    }
});

另外,请查看以下答案:

检查您返回的状态,然后使用location.href重定向

$.ajax({
    url: 'api.php',
    type: "POST",
    dataType: 'json', 
    data: $('#propertySearch').serialize(),
    success: function (data) {
        if(data.status && data.status === 'redirect' && data.data) {// Check all condition
            location.href = data.data;
        }
        else {
            initMap(data.data);
        }
    }
});

另外,请查看以下答案:

data.status==='redirect'&&location.replace(data.data)
@VadimAidlin在一种情况下,第一个
$response
我有数组中的数据,我想
initMap
,如果没有数据,第二个
$response
->重定向并且没有
initMap
data.status=='redirect'?location.replace(data.data):initMap(data.data)
data.status=='redirect'&&location.replace(data.data)
@VadimAidlin在一种情况下,第一个
$response
我有数组中的数据,我想
initMap
,如果没有数据,第二个
$response
->重定向并且没有
initMap
数据.status=='redirect'?location.replace(data.data):initMap(data.data)