PHP + jquery ajax json:
if (!function_exists('json_encode')) { function json_encode($value) { if (is_int($value)) { return (string)$value; } elseif (is_string($value)) { $value = str_replace(array('\\', '/', '"', "\r", "\n", "\b", "\f", "\t"), array('\\\\', '\/', '\"', '\r', '\n', '\b', '\f', '\t'), $value); $convmap = array(0x80, 0xFFFF, 0, 0xFFFF); $result = ""; for ($i = mb_strlen($value) - 1; $i >= 0; $i--) { $mb_char = mb_substr($value, $i, 1); if (mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "UTF-8"), $match)) { $result = sprintf("\\u%04x", $match[1]) . $result; } else { $result = $mb_char . $result; } } return '"' . $result . '"'; } elseif (is_float($value)) { return str_replace(",", ".", $value); } elseif (is_null($value)) { return 'null'; } elseif (is_bool($value)) { return $value ? 'true' : 'false'; } elseif (is_array($value)) { $with_keys = false; $n = count($value); for ($i = 0, reset($value); $i < $n; $i++, next($value)) { if (key($value) !== $i) { $with_keys = true; break; } } } elseif (is_object($value)) { $with_keys = true; } else { return ''; } $result = array(); if ($with_keys) { foreach ($value as $k => $v) { $result[] = json_encode($k) . ':' . json_encode($v); } return '{' . implode(',', $result) . '}'; } else { foreach ($value as $key => $v) { $result[] = json_encode($v); } return '[' . implode(',', $result) . ']'; } } } function json_fix_cyr($var, $reverse = false) { if (is_array($var)) { $new = array(); foreach ($var as $k => $v) $new[json_fix_cyr($k, $reverse)] = json_fix_cyr($v, $reverse); $var = $new; } elseif (is_object($var)) { $vars = get_object_vars($var); foreach ($vars as $m => $v) $var->$m = json_fix_cyr($v, $reverse); } elseif (is_string($var)) { $var = $reverse ? iconv('utf-8', 'cp1251', $var) : iconv('cp1251', 'utf-8', $var); } return $var; } function tojson($var){ return json_encode(json_fix_cyr($var)); } header("Content-Type: text/javascript; charset=windows-1251"); echo tojson(array('key' => 'value')); die(); // stop executing script //exit;
js:
jQuery(function($){ $('.scroll_top').click(function () { $.ajax({ url: "ajax.php", type: "POST", dataType: "json", data: {'key': '12321'}, complete: function(xhr, status) { alert('End'); }, success: function(data, status) { alert( data.key ); }, error: function(xhr, status) { alert( 'Error' ); } }); }); });