我被困在这里。
我在尝试选择div时尝试触发ajax,然后获得JSON响应。我能够返回的只是错误代码,我不知道为什么。这是简化版本(仍然得到与实际相同的响应)。也许有更好的方法吗?谢谢你的帮助。
jquery的:
<html lang="en">
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<style>
#selectable .ui-selecting { background: #FECA40; }
#selectable .ui-selected { background: #F39814; color: white; }
#selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
#selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
</style>
<script>
$(function(){
$("#selectable").selectable({
selected : function(event, ui) {
if($(ui.selected).hasClass('ui-widget-content')){
var rptID = ($(ui.selected).val());
$.ajax(
{
type: "POST",
dataType: "json",
url: "hello2.php",
success: function( response )
{
alert(1);
},
error: function( error )
{
console.log(error);
}
} );
}
}
});
});
</script>
<body><ol id="selectable">
<li class="ui-widget-content" value=1 >Item 1</li>
<li class="ui-widget-content" value=2>Item 2</li>
<li class="ui-widget-content" value=3>Item 3</li>
</ol></body>
</html>
PHP:
<?php
$json = array('hello' => 'hello');
header('Content-Type: application/json');
echo json_encode($json);
?>
答案 0 :(得分:3)
php?>
将导致PHP级别的语法错误/警告,并且语法错误输出可能会被标记到JSON输出的末尾,从而导致客户端上出现JSON解析错误。
PHP代码块只是<?php ... ?>
。
e.g。
[marc ~]$ cat z.php
<?php
echo json_encode('foo');
php?>
[marc ~]$ php z.php
"foo"PHP Notice: Use of undefined constant php - assumed 'php' in /home/marc/z.php on line 3
编辑---现在我看到OP编辑了php?>
的东西......